From 82ff6c4c012df4a1dd476edf00a65430ab01d1f2 Mon Sep 17 00:00:00 2001 From: Gareth Luckett Date: Mon, 22 Jul 2024 18:46:37 +0100 Subject: [PATCH 001/134] Added devopsinfrastructure --- config/resource-manager.hcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index 98c0f67f25f..d7e326b215f 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -196,6 +196,10 @@ service "devtestlabs" { name = "DevTestLab" available = ["2018-09-15"] } +service "devopsinfrastructure" { + name = "DevOpsInfrastructure" + available = ["2024-04-04-preview"] +} service "digitaltwins" { name = "DigitalTwins" available = ["2023-01-31"] From b5e554762eca453e46807b782c2e2ce10053b719 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 25 Jul 2024 14:41:11 +0100 Subject: [PATCH 002/134] importer-msgraph-metadata: correct casing for constant names --- .../importer-msgraph-metadata/components/parser/resourceids.go | 2 +- .../internal/pipeline/task_translate_service.go | 3 ++- .../internal/pipeline/translate_models.go | 3 ++- tools/importer-msgraph-metadata/main.go | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 6410d8644e4..63197bfce27 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -82,7 +82,7 @@ func (r ResourceId) DataApiSdkResourceId() (*sdkModels.ResourceID, error) { case SegmentAction, SegmentCast, SegmentFunction, SegmentLabel, SegmentODataReference: sdkSegments = append(sdkSegments, sdkModels.NewStaticValueResourceIDSegment(segment.Value, segment.Value)) case SegmentUserValue: - sdkSegments = append(sdkSegments, sdkModels.NewUserSpecifiedResourceIDSegment(*segment.Field, segment.Value)) + sdkSegments = append(sdkSegments, sdkModels.NewUserSpecifiedResourceIDSegment(normalize.CleanNameCamel(*segment.Field), segment.Value)) default: return nil, fmt.Errorf("unknown segment type %q at index %d for resource ID: %q", segment.Type, i, r.Name) } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index 30e57bb9687..acf1c65286c 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -7,6 +7,7 @@ import ( "fmt" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" ) @@ -159,7 +160,7 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta constantValues := make(map[string]string) if constant, ok := constants[*field.ConstantName]; ok { for _, value := range constant.Enum { - constantValues[value] = value + constantValues[normalize.CleanName(value)] = value } } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go index 00666340fff..2bdb5f614a9 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go @@ -5,6 +5,7 @@ package pipeline import ( sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" ) @@ -24,7 +25,7 @@ func translateModelsToDataApiSdkTypes(models parser.Models, constants parser.Con for constantName, constant := range constants { constantValues := make(map[string]string) for _, value := range constant.Enum { - constantValues[value] = value + constantValues[normalize.CleanName(value)] = value } // TODO support additional types, if there are any diff --git a/tools/importer-msgraph-metadata/main.go b/tools/importer-msgraph-metadata/main.go index 15287f26c40..1c919bbf236 100644 --- a/tools/importer-msgraph-metadata/main.go +++ b/tools/importer-msgraph-metadata/main.go @@ -27,7 +27,7 @@ func main() { } logging.Log = hclog.New(loggingOpts) - c := cli.NewCLI("importer-msgraph-metadata", "0.2.0") + c := cli.NewCLI("importer-msgraph-metadata", "0.2.1") c.Args = os.Args[1:] c.Commands = map[string]cli.CommandFactory{ "import": cmd.NewImportCommand(metadataDirectory, microsoftGraphConfig, openApiFilePattern, outputDirectory), From 19178fc6f42a94b80c6ee9464dacb0331f9ca760 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 25 Jul 2024 14:45:03 +0100 Subject: [PATCH 003/134] =?UTF-8?q?generator-go-sdk:=20support=20generatin?= =?UTF-8?q?g=20Common=20Types=20and=20a=20Microsoft=20Graph=20SDK=20?= =?UTF-8?q?=F0=9F=8D=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../internal/differ/differ_helpers.go | 2 +- .../golang_type_for_sdk_object_definition.go | 20 ++- .../v1/models/source_data_types.go | 4 + .../generator-go-sdk/internal/cmd/generate.go | 32 +++-- .../internal/generator/data.go | 128 +++++++++++++++--- .../internal/generator/meta_client.go | 37 ----- .../internal/generator/service.go | 47 ++++--- .../internal/generator/settings.go | 1 + .../internal/generator/stage_clients.go | 2 +- .../internal/generator/stage_common_types.go | 48 +++++++ .../internal/generator/stage_constants.go | 2 +- .../internal/generator/stage_ids.go | 2 +- .../internal/generator/stage_meta_client.go | 39 ++++++ .../internal/generator/stage_methods.go | 2 +- .../internal/generator/stage_models.go | 2 +- .../internal/generator/stage_predicates.go | 2 +- .../internal/generator/stage_readme.go | 2 +- .../internal/generator/stage_version.go | 2 +- .../internal/generator/templater.go | 4 +- .../internal/generator/templater_clients.go | 2 +- .../generator/templater_clients_autorest.go | 2 +- .../templater_clients_autorest_test.go | 2 +- .../generator/templater_clients_test.go | 2 +- .../internal/generator/templater_constants.go | 2 +- .../generator/templater_constants_test.go | 4 +- .../internal/generator/templater_id_parser.go | 11 +- .../generator/templater_id_parser_test.go | 4 +- .../generator/templater_id_parser_tests.go | 2 +- .../generator/templater_meta_client.go | 3 +- .../templater_meta_client_autorest.go | 3 +- .../internal/generator/templater_methods.go | 36 +++-- .../generator/templater_methods_autorest.go | 32 ++--- .../templater_methods_autorest_test.go | 10 +- .../templater_methods_discriminators_test.go | 8 +- ...er_methods_long_running_operations_test.go | 6 +- .../generator/templater_methods_test.go | 10 +- .../internal/generator/templater_models.go | 24 ++-- .../templater_models_constant_test.go | 36 ++--- .../templater_models_discriminators_test.go | 8 +- .../generator/templater_models_test.go | 6 +- .../generator/templater_predicates.go | 4 +- .../internal/generator/templater_readme.go | 32 ++--- .../generator/templater_readme_test.go | 42 +++--- .../internal/generator/templater_version.go | 2 +- .../generator/templater_version_test.go | 2 +- .../generator/mappings/assignment_direct.go | 6 +- .../mappings/assignment_model_to_model.go | 4 +- .../resource/component_create_func.go | 2 +- .../resource/component_update_func.go | 2 +- 49 files changed, 439 insertions(+), 248 deletions(-) delete mode 100644 tools/generator-go-sdk/internal/generator/meta_client.go create mode 100644 tools/generator-go-sdk/internal/generator/stage_common_types.go create mode 100644 tools/generator-go-sdk/internal/generator/stage_meta_client.go diff --git a/tools/data-api-differ/internal/differ/differ_helpers.go b/tools/data-api-differ/internal/differ/differ_helpers.go index 6766612e1e6..ff7e36b646c 100644 --- a/tools/data-api-differ/internal/differ/differ_helpers.go +++ b/tools/data-api-differ/internal/differ/differ_helpers.go @@ -12,7 +12,7 @@ import ( // stringifySDKObjectDefinition returns a human readable, string version of this SDKObjectDefinition. func (d differ) stringifySDKObjectDefinition(input models.SDKObjectDefinition) (*string, error) { - return helpers.GolangTypeForSDKObjectDefinition(input, nil) + return helpers.GolangTypeForSDKObjectDefinition(input, nil, nil, nil) } // stringifySDKOperationOptionObjectDefinition returns a human readable, string version of this Object Definition. diff --git a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go index 856da78baf4..4a000b4a0f3 100644 --- a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go +++ b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go @@ -11,7 +11,7 @@ import ( ) // GolangTypeForSDKObjectDefinition returns the Golang type name for the SDKObjectDefinition provided in `input`. -func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPackageName *string) (*string, error) { +func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPackageName *string, serviceTypeNames *[]string, commonTypesPackageName *string) (*string, error) { // TODO: we should look to add unit tests for this method // NOTE: all of this validation should be done in the Importer and the API - this is purely sanity checking @@ -31,7 +31,7 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa return nil, fmt.Errorf("a dictionary type must have a nested item but didn't get one") } - innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName) + innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName, serviceTypeNames, commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining inner type for dictionary: %+v", err) } @@ -44,7 +44,7 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa return nil, fmt.Errorf("a list type must have a nested item but didn't get one") } - innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName) + innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName, serviceTypeNames, commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining inner type for list: %+v", err) } @@ -60,7 +60,21 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa out := *input.ReferenceName if golangPackageName != nil { out = fmt.Sprintf("%s.%s", *golangPackageName, out) + } else if serviceTypeNames != nil && commonTypesPackageName != nil { + // when serviceTypeNames is specified, look to see if the referenced type is present in the service, and if not, assume it's a common type + found := false + for _, typeName := range *serviceTypeNames { + if typeName == *input.ReferenceName { + found = true + break + } + } + + if !found { + out = fmt.Sprintf("%s.%s", *commonTypesPackageName, out) + } } + return pointer.To(out), nil } diff --git a/tools/data-api-sdk/v1/models/source_data_types.go b/tools/data-api-sdk/v1/models/source_data_types.go index 552884900fa..fc2e71a2b8d 100644 --- a/tools/data-api-sdk/v1/models/source_data_types.go +++ b/tools/data-api-sdk/v1/models/source_data_types.go @@ -13,3 +13,7 @@ const ( // ResourceManagerSourceDataType defines that this Data is related to Azure Resource Manager. ResourceManagerSourceDataType SourceDataType = "resource-manager" ) + +func SourceDataTypeIsDataPlane(sourceDataType SourceDataType) bool { + return sourceDataType == ResourceManagerSourceDataType +} diff --git a/tools/generator-go-sdk/internal/cmd/generate.go b/tools/generator-go-sdk/internal/cmd/generate.go index 419a61b975b..c0ea36444d0 100644 --- a/tools/generator-go-sdk/internal/cmd/generate.go +++ b/tools/generator-go-sdk/internal/cmd/generate.go @@ -34,6 +34,8 @@ type GeneratorInput struct { settings generator.Settings } +const commonTypesPackageName = "common-types" + func NewGenerateCommand(sourceDataType models.SourceDataType) func() (cli.Command, error) { return func() (cli.Command, error) { return GenerateCommand{ @@ -51,7 +53,9 @@ func (g GenerateCommand) Run(args []string) int { ctx := context.Background() input := GeneratorInput{ - settings: generator.Settings{}, + settings: generator.Settings{ + CommonTypesPackageName: commonTypesPackageName, + }, } input.settings.UseOldBaseLayerFor( @@ -138,17 +142,25 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { logging.Debugf("Service %q", serviceName) for versionNumber, versionDetails := range service.APIVersions { logging.Debugf(" Version %q", versionNumber) + + var commonTypes models.CommonTypes + if v, ok := data.CommonTypes[versionNumber]; ok { + commonTypes = v + } + for resourceName, resourceDetails := range versionDetails.Resources { logging.Debugf(" Resource %q", resourceName) generatorData := generator.ServiceGeneratorInput{ - ServiceName: serviceName, - ServiceDetails: service, - VersionName: versionNumber, - VersionDetails: versionDetails, - ResourceName: resourceName, - ResourceDetails: resourceDetails, + CommonTypes: commonTypes, OutputDirectory: input.outputDirectory, + ResourceDetails: resourceDetails, + ResourceName: resourceName, + ServiceDetails: service, + ServiceName: serviceName, Source: versionDetails.Source, + Type: g.sourceDataType, + VersionDetails: versionDetails, + VersionName: versionNumber, } logging.Debugf("Generating Service %q / Version %q / Resource %q", serviceName, versionNumber, resourceName) if err := generatorService.Generate(generatorData); err != nil { @@ -158,13 +170,15 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { logging.Debugf("Generated Service %q / Version %q / Resource %q", serviceName, versionNumber, resourceName) } - // then output the Meta Client - generatorData := generator.VersionInput{ + // then output Common Types and Meta Client + generatorData := generator.VersionGeneratorInput{ OutputDirectory: input.outputDirectory, + CommonTypes: commonTypes, ServiceName: serviceName, VersionName: versionNumber, Resources: versionDetails.Resources, Source: versionDetails.Source, + Type: g.sourceDataType, } generatorData.UseNewBaseLayer = false if input.settings.ShouldUseNewBaseLayer(serviceName, versionNumber) { diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index 67fc7913399..508fe4e0dc5 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -8,13 +8,23 @@ import ( "path/filepath" "strings" + "github.com/hashicorp/go-azure-helpers/lang/pointer" "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" ) -type ServiceGeneratorData struct { - // the name of the package which should be used e.g. Service1 becomes service1 +type GeneratorData struct { + // the name of the package which should be used packageName string + // commonTypes contains any common models and constants for this API version + commonTypes models.CommonTypes + + // the name of the package containing common types (unique to the API version) + commonTypesPackageName *string + + // relative include path for common types package + commonTypesIncludePath *string + // the name of the Client e.g. MyThingClient serviceClientName string @@ -23,7 +33,7 @@ type ServiceGeneratorData struct { idsOutputPath string // This is the working directory where files should be output for this specific service - // for example {workingDir}/service/version/resource + // for example {workingDir}/{service}/{version}/{resource} resourceOutputPath string // constants is a map of Constant Name (key) to SDKConstant (value) describing @@ -51,6 +61,16 @@ type ServiceGeneratorData struct { // the name of the service as a package (e.g. resources or eventhub) servicePackageName string + // slice of constant/model type names present for the service, used to determine whether a referenced type + // is local to the service, or is a common type + serviceTypeNames []string + + // sourceType is the source data type and is the SDK package name + sourceType models.SourceDataType + + // whether this is a data plane SDK (omits certain Resource Manager specific features) + isDataPlane bool + // development feature flag - this requires work in the Resource ID parser to handle name conflicts // @tombuildsstuff: fix this useIdAliases bool @@ -60,30 +80,96 @@ type ServiceGeneratorData struct { useNewBaseLayer bool } -func (i ServiceGeneratorInput) generatorData(settings Settings) ServiceGeneratorData { +func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { + resourcePackageName := strings.ToLower(i.ResourceName) servicePackageName := strings.ToLower(i.ServiceName) versionPackageName := strings.ToLower(i.VersionName) - // TODO: it'd be nice to make these snake_case but that's a problem for another day - resourcePackageName := strings.ToLower(i.ResourceName) + versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionPackageName) - resourceOutputPath := filepath.Join(versionOutputPath, resourcePackageName) idsPath := filepath.Join(versionOutputPath, "ids") + resourceOutputPath := filepath.Join(versionOutputPath, resourcePackageName) + + useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) + + serviceTypeNames := make([]string, 0) + for constantName := range i.ResourceDetails.Constants { + serviceTypeNames = append(serviceTypeNames, constantName) + } + for modelName := range i.ResourceDetails.Models { + serviceTypeNames = append(serviceTypeNames, modelName) + } + + var commonTypesPackageName, commonTypesIncludePath *string + if len(i.CommonTypes.Constants) > 0 && len(i.CommonTypes.Models) > 0 { + commonTypesPackageName = pointer.To(strings.ToLower(strings.ReplaceAll(i.VersionName, "-", "_"))) + commonTypesIncludePath = pointer.To(fmt.Sprintf("%s/%s", settings.CommonTypesPackageName, *commonTypesPackageName)) + } + + return GeneratorData{ + apiVersion: i.VersionName, + commonTypes: i.CommonTypes, + commonTypesIncludePath: commonTypesIncludePath, + commonTypesPackageName: commonTypesPackageName, + constants: i.ResourceDetails.Constants, + idsOutputPath: idsPath, + isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), + models: i.ResourceDetails.Models, + operations: i.ResourceDetails.Operations, + packageName: resourcePackageName, + resourceIds: i.ResourceDetails.ResourceIDs, + resourceOutputPath: resourceOutputPath, + serviceClientName: fmt.Sprintf("%sClient", strings.Title(i.ResourceName)), + servicePackageName: strings.ToLower(i.ServiceName), + serviceTypeNames: serviceTypeNames, + source: i.Source, + sourceType: i.Type, + useIdAliases: false, + useNewBaseLayer: useNewBaseLayer, + } +} + +type VersionGeneratorData struct { + GeneratorData + + // This is the directory where versioned common types should be output + // for example {workingDir}/common-types/{version} + commonTypesOutputPath string + + // resources specifies a map of API Resource Names (key) to APIResource (value). + resources map[string]models.APIResource + + // This is the directory for the API version where the meta client should be output + // for example {workingDir}/{service}/{version} + versionOutputPath string + + // the name of the version as a package + versionPackageName string +} + +func (i VersionGeneratorInput) generatorData(settings Settings) VersionGeneratorData { + servicePackageName := strings.ToLower(i.ServiceName) + versionPackageName := strings.ToLower(strings.ReplaceAll(i.VersionName, "-", "_")) + + commonTypesOutputPath := filepath.Join(i.OutputDirectory, settings.CommonTypesPackageName, versionPackageName) + versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionPackageName) useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) - return ServiceGeneratorData{ - apiVersion: i.VersionName, - constants: i.ResourceDetails.Constants, - idsOutputPath: idsPath, - models: i.ResourceDetails.Models, - operations: i.ResourceDetails.Operations, - resourceOutputPath: resourceOutputPath, - packageName: resourcePackageName, - resourceIds: i.ResourceDetails.ResourceIDs, - serviceClientName: fmt.Sprintf("%sClient", strings.Title(i.ResourceName)), - servicePackageName: strings.ToLower(i.ServiceName), - source: i.Source, - useIdAliases: false, - useNewBaseLayer: useNewBaseLayer, + return VersionGeneratorData{ + GeneratorData: GeneratorData{ + apiVersion: i.VersionName, + commonTypes: i.CommonTypes, + constants: i.CommonTypes.Constants, + isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), + models: i.CommonTypes.Models, + servicePackageName: strings.ToLower(i.ServiceName), + source: i.Source, + sourceType: i.Type, + useNewBaseLayer: useNewBaseLayer, + }, + commonTypesOutputPath: commonTypesOutputPath, + resources: i.Resources, + versionOutputPath: versionOutputPath, + versionPackageName: versionPackageName, } } diff --git a/tools/generator-go-sdk/internal/generator/meta_client.go b/tools/generator-go-sdk/internal/generator/meta_client.go deleted file mode 100644 index 917f9c00197..00000000000 --- a/tools/generator-go-sdk/internal/generator/meta_client.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package generator - -import ( - "fmt" -) - -func (s *ServiceGenerator) metaClient(data VersionInput, versionDirectory string) error { - if len(data.Resources) == 0 { - return nil - } - - var templater templaterForVersion - if data.UseNewBaseLayer { - templater = metaClientTemplater{ - serviceName: data.ServiceName, - apiVersion: data.VersionName, - resources: data.Resources, - source: data.Source, - } - } else { - templater = metaClientAutorestTemplater{ - serviceName: data.ServiceName, - apiVersion: data.VersionName, - resources: data.Resources, - source: data.Source, - } - } - - if err := s.writeToPathForVersion(versionDirectory, "client.go", templater); err != nil { - return fmt.Errorf("templating meta client for API Version %q / Service %q: %+v", data.VersionName, data.ServiceName, err) - } - - return nil -} diff --git a/tools/generator-go-sdk/internal/generator/service.go b/tools/generator-go-sdk/internal/generator/service.go index 4f51f3cfaa2..4cac1c2052e 100644 --- a/tools/generator-go-sdk/internal/generator/service.go +++ b/tools/generator-go-sdk/internal/generator/service.go @@ -7,8 +7,6 @@ import ( "fmt" "os" "os/exec" - "path/filepath" - "strings" "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/generator-go-sdk/internal/logging" @@ -25,14 +23,16 @@ func NewServiceGenerator(settings Settings) ServiceGenerator { } type ServiceGeneratorInput struct { - ServiceName string - ServiceDetails models.Service - VersionName string - VersionDetails models.APIVersion - ResourceName string - ResourceDetails models.APIResource + CommonTypes models.CommonTypes OutputDirectory string + ResourceDetails models.APIResource + ResourceName string + ServiceDetails models.Service + ServiceName string Source models.SourceDataOrigin + Type models.SourceDataType + VersionDetails models.APIVersion + VersionName string } func (s *ServiceGenerator) Generate(input ServiceGeneratorInput) error { @@ -47,7 +47,7 @@ func (s *ServiceGenerator) Generate(input ServiceGeneratorInput) error { } } - stages := map[string]func(data ServiceGeneratorData) error{ + stages := map[string]func(data GeneratorData) error{ "clients": s.clients, "constants": s.constants, "ids": s.ids, @@ -70,32 +70,41 @@ func (s *ServiceGenerator) Generate(input ServiceGeneratorInput) error { return nil } -type VersionInput struct { +type VersionGeneratorInput struct { + CommonTypes models.CommonTypes OutputDirectory string Resources map[string]models.APIResource ServiceName string Source models.SourceDataOrigin + Type models.SourceDataType UseNewBaseLayer bool VersionName string } -func (s *ServiceGenerator) GenerateForVersion(input VersionInput) error { - input.ServiceName = strings.ToLower(input.ServiceName) - input.VersionName = strings.ToLower(input.VersionName) - versionDirectory := filepath.Join(input.OutputDirectory, input.ServiceName, input.VersionName) +func (s *ServiceGenerator) GenerateForVersion(input VersionGeneratorInput) error { + data := input.generatorData(s.settings) - stages := map[string]func(data VersionInput, versionDirectory string) error{ - "metaClient": s.metaClient, + if err := cleanAndRecreateWorkingDirectory(data.commonTypesOutputPath); err != nil { + return fmt.Errorf("cleaning/recreating working directory %q: %+v", data.commonTypesOutputPath, err) + } + + stages := map[string]func(data VersionGeneratorData) error{ + "commonTypes": s.commonTypes, + "metaClient": s.metaClient, } for name, stage := range stages { logging.Debugf("Running Stage %q..", name) - if err := stage(input, versionDirectory); err != nil { + if err := stage(data); err != nil { return fmt.Errorf("generating %s: %+v", name, err) } } - runGoFmt(versionDirectory) - runGoImports(versionDirectory) + runGoFmt(data.commonTypesOutputPath) + runGoImports(data.commonTypesOutputPath) + + runGoFmt(data.versionOutputPath) + runGoImports(data.versionOutputPath) + return nil } diff --git a/tools/generator-go-sdk/internal/generator/settings.go b/tools/generator-go-sdk/internal/generator/settings.go index 8e4fffdf704..663937a06cc 100644 --- a/tools/generator-go-sdk/internal/generator/settings.go +++ b/tools/generator-go-sdk/internal/generator/settings.go @@ -8,6 +8,7 @@ import ( ) type Settings struct { + CommonTypesPackageName string servicesUsingOldBaseLayer map[string]struct{} } diff --git a/tools/generator-go-sdk/internal/generator/stage_clients.go b/tools/generator-go-sdk/internal/generator/stage_clients.go index c293949bd7a..a58a376d935 100644 --- a/tools/generator-go-sdk/internal/generator/stage_clients.go +++ b/tools/generator-go-sdk/internal/generator/stage_clients.go @@ -7,7 +7,7 @@ import ( "fmt" ) -func (s *ServiceGenerator) clients(data ServiceGeneratorData) error { +func (s *ServiceGenerator) clients(data GeneratorData) error { if data.useNewBaseLayer { if err := s.writeToPathForResource(data.resourceOutputPath, "client.go", clientsTemplater{}, data); err != nil { return fmt.Errorf("templating client (using hashicorp/go-azure-sdk): %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/stage_common_types.go b/tools/generator-go-sdk/internal/generator/stage_common_types.go new file mode 100644 index 00000000000..b4c4ea7c5c9 --- /dev/null +++ b/tools/generator-go-sdk/internal/generator/stage_common_types.go @@ -0,0 +1,48 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package generator + +import ( + "fmt" + "strings" + + "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" +) + +func (s *ServiceGenerator) commonTypes(data VersionGeneratorData) error { + if len(data.commonTypes.Constants) == 0 && len(data.commonTypes.Models) == 0 { + return nil + } + + data.packageName = data.versionPackageName + + // output constants into individual files + for constantName, constant := range data.commonTypes.Constants { + t := constantsTemplater{ + constantTemplateFunc: templateForConstant, + } + constantData := data.GeneratorData + constantData.constants = map[string]models.SDKConstant{ + constantName: constant, + } + fileName := fmt.Sprintf("constant_%s.go", strings.ToLower(constantName)) + if err := s.writeToPathForResource(data.commonTypesOutputPath, fileName, t, constantData); err != nil { + return fmt.Errorf("templating constants: %+v", err) + } + } + + for modelName, model := range data.commonTypes.Models { + fileName := fmt.Sprintf("model_%s.go", strings.ToLower(modelName)) + gen := modelsTemplater{ + name: modelName, + model: model, + } + + if err := s.writeToPathForResource(data.commonTypesOutputPath, fileName, gen, data.GeneratorData); err != nil { + return fmt.Errorf("templating model for %q: %+v", modelName, err) + } + } + + return nil +} diff --git a/tools/generator-go-sdk/internal/generator/stage_constants.go b/tools/generator-go-sdk/internal/generator/stage_constants.go index 9215af06fa8..c863b33790c 100644 --- a/tools/generator-go-sdk/internal/generator/stage_constants.go +++ b/tools/generator-go-sdk/internal/generator/stage_constants.go @@ -7,7 +7,7 @@ import ( "fmt" ) -func (s *ServiceGenerator) constants(data ServiceGeneratorData) error { +func (s *ServiceGenerator) constants(data GeneratorData) error { if len(data.constants) == 0 { return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_ids.go b/tools/generator-go-sdk/internal/generator/stage_ids.go index b7997b2b06f..8381e1511b1 100644 --- a/tools/generator-go-sdk/internal/generator/stage_ids.go +++ b/tools/generator-go-sdk/internal/generator/stage_ids.go @@ -8,7 +8,7 @@ import ( "strings" ) -func (s *ServiceGenerator) ids(data ServiceGeneratorData) error { +func (s *ServiceGenerator) ids(data GeneratorData) error { outputDirectory := data.resourceOutputPath for idName, resourceData := range data.resourceIds { diff --git a/tools/generator-go-sdk/internal/generator/stage_meta_client.go b/tools/generator-go-sdk/internal/generator/stage_meta_client.go new file mode 100644 index 00000000000..68b34079ac4 --- /dev/null +++ b/tools/generator-go-sdk/internal/generator/stage_meta_client.go @@ -0,0 +1,39 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package generator + +import ( + "fmt" +) + +func (s *ServiceGenerator) metaClient(data VersionGeneratorData) error { + if len(data.resources) == 0 { + return nil + } + + var templater templaterForVersion + if data.useNewBaseLayer { + templater = metaClientTemplater{ + serviceName: data.servicePackageName, + apiVersion: data.versionPackageName, + resources: data.resources, + source: data.source, + sourceType: data.sourceType, + } + } else { + templater = metaClientAutorestTemplater{ + serviceName: data.servicePackageName, + apiVersion: data.versionPackageName, + resources: data.resources, + source: data.source, + sourceType: data.sourceType, + } + } + + if err := s.writeToPathForVersion(data.versionOutputPath, "client.go", templater); err != nil { + return fmt.Errorf("templating meta client for API Version %q / Service %q: %+v", data.versionPackageName, data.servicePackageName, err) + } + + return nil +} diff --git a/tools/generator-go-sdk/internal/generator/stage_methods.go b/tools/generator-go-sdk/internal/generator/stage_methods.go index 41e6722e4c7..852e37d577f 100644 --- a/tools/generator-go-sdk/internal/generator/stage_methods.go +++ b/tools/generator-go-sdk/internal/generator/stage_methods.go @@ -8,7 +8,7 @@ import ( "strings" ) -func (s *ServiceGenerator) methods(data ServiceGeneratorData) error { +func (s *ServiceGenerator) methods(data GeneratorData) error { for operationName, operation := range data.operations { if data.useNewBaseLayer { diff --git a/tools/generator-go-sdk/internal/generator/stage_models.go b/tools/generator-go-sdk/internal/generator/stage_models.go index 97c618f713c..5e43a0ce5d4 100644 --- a/tools/generator-go-sdk/internal/generator/stage_models.go +++ b/tools/generator-go-sdk/internal/generator/stage_models.go @@ -8,7 +8,7 @@ import ( "strings" ) -func (s *ServiceGenerator) models(data ServiceGeneratorData) error { +func (s *ServiceGenerator) models(data GeneratorData) error { if len(data.models) == 0 { return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_predicates.go b/tools/generator-go-sdk/internal/generator/stage_predicates.go index 3e4d527f01a..d2d6bf03f12 100644 --- a/tools/generator-go-sdk/internal/generator/stage_predicates.go +++ b/tools/generator-go-sdk/internal/generator/stage_predicates.go @@ -8,7 +8,7 @@ import ( "sort" ) -func (s *ServiceGenerator) predicates(data ServiceGeneratorData) error { +func (s *ServiceGenerator) predicates(data GeneratorData) error { modelNames := make(map[string]struct{}, 0) for _, operation := range data.operations { if operation.FieldContainingPaginationDetails == nil { diff --git a/tools/generator-go-sdk/internal/generator/stage_readme.go b/tools/generator-go-sdk/internal/generator/stage_readme.go index 52028ca4b4c..4c32b9c02dc 100644 --- a/tools/generator-go-sdk/internal/generator/stage_readme.go +++ b/tools/generator-go-sdk/internal/generator/stage_readme.go @@ -8,7 +8,7 @@ import ( "sort" ) -func (s *ServiceGenerator) readmeFile(data ServiceGeneratorData) error { +func (s *ServiceGenerator) readmeFile(data GeneratorData) error { if len(data.models) == 0 { return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_version.go b/tools/generator-go-sdk/internal/generator/stage_version.go index 3f829d6df57..e95817a3068 100644 --- a/tools/generator-go-sdk/internal/generator/stage_version.go +++ b/tools/generator-go-sdk/internal/generator/stage_version.go @@ -7,7 +7,7 @@ import ( "fmt" ) -func (s *ServiceGenerator) version(data ServiceGeneratorData) error { +func (s *ServiceGenerator) version(data GeneratorData) error { if err := s.writeToPathForResource(data.resourceOutputPath, "version.go", versionTemplater{}, data); err != nil { return fmt.Errorf("templating version: %+v", err) } diff --git a/tools/generator-go-sdk/internal/generator/templater.go b/tools/generator-go-sdk/internal/generator/templater.go index b1fb2b5f4f8..fc926f29969 100644 --- a/tools/generator-go-sdk/internal/generator/templater.go +++ b/tools/generator-go-sdk/internal/generator/templater.go @@ -12,14 +12,14 @@ import ( ) type templaterForResource interface { - template(data ServiceGeneratorData) (*string, error) + template(GeneratorData) (*string, error) } type templaterForVersion interface { template() (*string, error) } -func (s *ServiceGenerator) writeToPathForResource(directory, filePath string, templater templaterForResource, data ServiceGeneratorData) error { +func (s *ServiceGenerator) writeToPathForResource(directory, filePath string, templater templaterForResource, data GeneratorData) error { fileContents, err := templater.template(data) if err != nil { return fmt.Errorf("templating: %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/templater_clients.go b/tools/generator-go-sdk/internal/generator/templater_clients.go index 7dc0d51fd93..5e01b90287d 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients.go @@ -7,7 +7,7 @@ var _ templaterForResource = clientsTemplater{} type clientsTemplater struct { } -func (c clientsTemplater) template(data ServiceGeneratorData) (*string, error) { +func (c clientsTemplater) template(data GeneratorData) (*string, error) { copyrightLines, err := copyrightLinesForSource(data.source) if err != nil { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/templater_clients_autorest.go b/tools/generator-go-sdk/internal/generator/templater_clients_autorest.go index 58d29fd1c4f..ac6ab0234ae 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients_autorest.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients_autorest.go @@ -7,7 +7,7 @@ var _ templaterForResource = clientsAutoRestTemplater{} type clientsAutoRestTemplater struct { } -func (c clientsAutoRestTemplater) template(data ServiceGeneratorData) (*string, error) { +func (c clientsAutoRestTemplater) template(data GeneratorData) (*string, error) { copyrightLines, err := copyrightLinesForSource(data.source) if err != nil { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/templater_clients_autorest_test.go b/tools/generator-go-sdk/internal/generator/templater_clients_autorest_test.go index ec0f2bd8e2d..ce0cbecba51 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients_autorest_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients_autorest_test.go @@ -8,7 +8,7 @@ import ( ) func TestTemplateAutoRestClient(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "somepackage", serviceClientName: "ExampleClient", source: AccTestLicenceType, diff --git a/tools/generator-go-sdk/internal/generator/templater_clients_test.go b/tools/generator-go-sdk/internal/generator/templater_clients_test.go index ac327a0f46a..7567c6ac9f6 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients_test.go @@ -8,7 +8,7 @@ import ( ) func TestTemplateClient(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "somepackage", serviceClientName: "ExampleClient", source: AccTestLicenceType, diff --git a/tools/generator-go-sdk/internal/generator/templater_constants.go b/tools/generator-go-sdk/internal/generator/templater_constants.go index eb06f8988f2..a1917c1e93e 100644 --- a/tools/generator-go-sdk/internal/generator/templater_constants.go +++ b/tools/generator-go-sdk/internal/generator/templater_constants.go @@ -14,7 +14,7 @@ type constantsTemplater struct { constantTemplateFunc func(name string, details models.SDKConstant, generateNormalizationFunction, usedInAResourceId bool) (*string, error) } -func (c constantsTemplater) template(data ServiceGeneratorData) (*string, error) { +func (c constantsTemplater) template(data GeneratorData) (*string, error) { copyrightLines, err := copyrightLinesForSource(data.source) if err != nil { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/templater_constants_test.go b/tools/generator-go-sdk/internal/generator/templater_constants_test.go index 5e330577ba9..bd97d7773f4 100644 --- a/tools/generator-go-sdk/internal/generator/templater_constants_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_constants_test.go @@ -17,7 +17,7 @@ func TestTemplateConstantsSingle(t *testing.T) { out := fmt.Sprintf("// template for %s", name) return &out, nil }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ constants: map[string]models.SDKConstant{ "first": { Type: models.StringSDKConstantType, @@ -50,7 +50,7 @@ func TestTemplateConstantsMultiple(t *testing.T) { out := fmt.Sprintf("// template for %s", name) return &out, nil }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ constants: map[string]models.SDKConstant{ "third": {}, "first": {}, diff --git a/tools/generator-go-sdk/internal/generator/templater_id_parser.go b/tools/generator-go-sdk/internal/generator/templater_id_parser.go index fd6acfec53a..4622d6da18b 100644 --- a/tools/generator-go-sdk/internal/generator/templater_id_parser.go +++ b/tools/generator-go-sdk/internal/generator/templater_id_parser.go @@ -18,7 +18,7 @@ type resourceIdTemplater struct { constantDetails map[string]models.SDKConstant } -func (r resourceIdTemplater) template(data ServiceGeneratorData) (*string, error) { +func (r resourceIdTemplater) template(data GeneratorData) (*string, error) { copyrightLines, err := copyrightLinesForSource(data.source) if err != nil { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) @@ -33,6 +33,11 @@ func (r resourceIdTemplater) template(data ServiceGeneratorData) (*string, error return nil, fmt.Errorf("generating methods: %+v", err) } + registerId := "" + if !data.isDataPlane { + registerId = r.registerId() + } + out := fmt.Sprintf(`package %[1]s import ( "fmt" @@ -48,7 +53,7 @@ import ( %[3]s %[4]s %[5]s -`, data.packageName, *copyrightLines, r.registerId(), *structBody, *methods) +`, data.packageName, *copyrightLines, registerId, *structBody, *methods) return &out, nil } @@ -297,7 +302,7 @@ func %[1]s(input string) (*%[2]s, error) { } id := %[2]s{} - if err := id.FromParseResult(*parsed); err != nil { + if err = id.FromParseResult(*parsed); err != nil { return nil, err } diff --git a/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go b/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go index b82a367983f..c08cbbb08a4 100644 --- a/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go @@ -19,7 +19,7 @@ func TestTemplateIdParserBasic(t *testing.T) { models.NewSubscriptionIDResourceIDSegment("subscriptionId"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ resourceIds: map[string]models.ResourceID{ "empty": { CommonIDAlias: stringPointer("basic"), @@ -167,7 +167,7 @@ func TestTemplateIdParserConstantsOnly(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ resourceIds: map[string]models.ResourceID{ "empty": { CommonIDAlias: stringPointer("thing"), diff --git a/tools/generator-go-sdk/internal/generator/templater_id_parser_tests.go b/tools/generator-go-sdk/internal/generator/templater_id_parser_tests.go index c58556e8782..4d1b1f01f57 100644 --- a/tools/generator-go-sdk/internal/generator/templater_id_parser_tests.go +++ b/tools/generator-go-sdk/internal/generator/templater_id_parser_tests.go @@ -18,7 +18,7 @@ type resourceIdTestsTemplater struct { constantDetails map[string]models.SDKConstant } -func (i resourceIdTestsTemplater) template(data ServiceGeneratorData) (*string, error) { +func (i resourceIdTestsTemplater) template(data GeneratorData) (*string, error) { res, err := i.generateTests(data.packageName, data.source) if err != nil { return nil, fmt.Errorf("while generating parser tests: %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/templater_meta_client.go b/tools/generator-go-sdk/internal/generator/templater_meta_client.go index ed0454ab6a8..1fa156c3b33 100644 --- a/tools/generator-go-sdk/internal/generator/templater_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/templater_meta_client.go @@ -13,6 +13,7 @@ type metaClientTemplater struct { apiVersion string resources map[string]models.APIResource source models.SourceDataOrigin + sourceType models.SourceDataType } func (m metaClientTemplater) template() (*string, error) { @@ -34,7 +35,7 @@ func (m metaClientTemplater) template() (*string, error) { for _, resourceName := range resourceNames { variableName := fmt.Sprintf("%s%sClient", strings.ToLower(string(resourceName[0])), resourceName[1:]) - imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/resource-manager/%s/%s/%s"`, strings.ToLower(m.serviceName), m.apiVersion, strings.ToLower(resourceName))) + imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s/%s/%s"`, m.sourceType, strings.ToLower(m.serviceName), m.apiVersion, strings.ToLower(resourceName))) fields = append(fields, fmt.Sprintf("%[1]s *%[2]s.%[1]sClient", resourceName, strings.ToLower(resourceName))) clientInitializationTemplate := fmt.Sprintf(`%[1]s, err := %[2]s.New%[3]sClientWithBaseURI(sdkApi) if err != nil { diff --git a/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go b/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go index 8e0938dfdac..d5d07aa3553 100644 --- a/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go +++ b/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go @@ -13,6 +13,7 @@ type metaClientAutorestTemplater struct { apiVersion string resources map[string]models.APIResource source models.SourceDataOrigin + sourceType models.SourceDataType } func (m metaClientAutorestTemplater) template() (*string, error) { @@ -34,7 +35,7 @@ func (m metaClientAutorestTemplater) template() (*string, error) { for _, resourceName := range resourceNames { variableName := fmt.Sprintf("%s%sClient", strings.ToLower(string(resourceName[0])), resourceName[1:]) - imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/resource-manager/%s/%s/%s"`, strings.ToLower(m.serviceName), m.apiVersion, strings.ToLower(resourceName))) + imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s/%s/%s"`, m.sourceType, strings.ToLower(m.serviceName), m.apiVersion, strings.ToLower(resourceName))) fields = append(fields, fmt.Sprintf("%[1]s *%[2]s.%[1]sClient", resourceName, strings.ToLower(resourceName))) clientInitializationTemplate := fmt.Sprintf(` %[1]s := %[2]s.New%[3]sClientWithBaseURI(endpoint) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index a65405f51ca..97b463781e3 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -18,7 +18,7 @@ type methodsPandoraTemplater struct { constants map[string]models.SDKConstant } -func (c methodsPandoraTemplater) template(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) template(data GeneratorData) (*string, error) { methods, err := c.methods(data) if err != nil { return nil, fmt.Errorf("building methods: %+v", err) @@ -29,6 +29,11 @@ func (c methodsPandoraTemplater) template(data ServiceGeneratorData) (*string, e return nil, fmt.Errorf("retrieving copyright lines: %+v", err) } + commonTypesInclude := "" + if data.commonTypesIncludePath != nil { + commonTypesInclude = fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s"`, data.sourceType, *data.commonTypesIncludePath) + } + template := fmt.Sprintf(`package %[1]s import ( @@ -42,16 +47,17 @@ import ( "github.com/hashicorp/go-azure-sdk/sdk/client/pollers" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" "github.com/hashicorp/go-azure-sdk/sdk/odata" + %[4]s ) %[2]s %[3]s -`, data.packageName, *copyrightLines, *methods) +`, data.packageName, *copyrightLines, *methods, commonTypesInclude) return &template, nil } -func (c methodsPandoraTemplater) methods(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) methods(data GeneratorData) (*string, error) { switch strings.ToUpper(c.operation.Method) { case "DELETE": if c.operation.LongRunning { @@ -129,7 +135,7 @@ func (c methodsPandoraTemplater) methods(data ServiceGeneratorData) (*string, er return nil, fmt.Errorf("unsupported HTTP Method %q", c.operation.Method) } -func (c methodsPandoraTemplater) immediateOperationTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) immediateOperationTemplate(data GeneratorData) (*string, error) { methodArguments, err := c.argumentsTemplateForMethod(data) if err != nil { return nil, fmt.Errorf("building arguments for immediate operation: %+v", err) @@ -191,7 +197,7 @@ func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, return &templated, nil } -func (c methodsPandoraTemplater) longRunningOperationTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) longRunningOperationTemplate(data GeneratorData) (*string, error) { methodArguments, err := c.argumentsTemplateForMethod(data) if err != nil { return nil, fmt.Errorf("building arguments for long running template: %+v", err) @@ -272,7 +278,7 @@ func (c %[1]s) %[2]sThenPoll(ctx context.Context %[3]s) error { return &templated, nil } -func (c methodsPandoraTemplater) listOperationTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) listOperationTemplate(data GeneratorData) (*string, error) { methodArguments, err := c.argumentsTemplateForMethod(data) if err != nil { return nil, fmt.Errorf("building arguments for list operation: %+v", err) @@ -295,7 +301,7 @@ func (c methodsPandoraTemplater) listOperationTemplate(data ServiceGeneratorData if err != nil { return nil, fmt.Errorf("building options struct: %+v", err) } - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } @@ -450,7 +456,7 @@ func (c methodsPandoraTemplater) requestArgumentsTemplate() string { return fmt.Sprintf(", %s", strings.Join(args, ", ")) } -func (c methodsPandoraTemplater) argumentsTemplateForMethod(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) argumentsTemplateForMethod(data GeneratorData) (*string, error) { arguments := make([]string, 0) if c.operation.ResourceIDName != nil { idName := *c.operation.ResourceIDName @@ -465,7 +471,7 @@ func (c methodsPandoraTemplater) argumentsTemplateForMethod(data ServiceGenerato arguments = append(arguments, fmt.Sprintf("id %s", idName)) } if c.operation.RequestObject != nil { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining type name for request object: %+v", err) } @@ -566,7 +572,7 @@ func (c methodsPandoraTemplater) marshalerTemplate() (*string, error) { return &output, nil } -func (c methodsPandoraTemplater) unmarshalerTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*string, error) { var output string if c.operation.LongRunning { @@ -577,7 +583,7 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data ServiceGeneratorData) } if c.operation.ResponseObject != nil { - golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } @@ -655,7 +661,7 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data ServiceGeneratorData) result.Model = &model `, discriminatedTypeParentName) } else { - responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } @@ -682,11 +688,11 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data ServiceGeneratorData) return &output, nil } -func (c methodsPandoraTemplater) responseStructTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) responseStructTemplate(data GeneratorData) (*string, error) { model := "" typeName := "" if c.operation.ResponseObject != nil { - golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } @@ -733,7 +739,7 @@ type %[1]s struct { return &output, nil } -func (c methodsPandoraTemplater) optionsStruct(data ServiceGeneratorData) (*string, error) { +func (c methodsPandoraTemplater) optionsStruct(data GeneratorData) (*string, error) { if len(c.operation.Options) == 0 { out := "" return &out, nil diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go b/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go index 7b78941dc01..8b2702d183d 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go @@ -21,7 +21,7 @@ type methodsAutoRestTemplater struct { constants map[string]models.SDKConstant } -func (c methodsAutoRestTemplater) template(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) template(data GeneratorData) (*string, error) { methods, err := c.methods(data) if err != nil { return nil, fmt.Errorf("building methods: %+v", err) @@ -56,7 +56,7 @@ import ( return &template, nil } -func (c methodsAutoRestTemplater) methods(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) methods(data GeneratorData) (*string, error) { // NOTE: most of this logic is sanity checking, but should be within the API and it's validators too // that could be a separate validation tool, but this would be most useful as unit tests @@ -137,7 +137,7 @@ func (c methodsAutoRestTemplater) methods(data ServiceGeneratorData) (*string, e return nil, fmt.Errorf("unsupported HTTP Method %q", c.operation.Method) } -func (c methodsAutoRestTemplater) immediateOperationTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) immediateOperationTemplate(data GeneratorData) (*string, error) { responseStructName, err := c.responseStructName(data) if err != nil { return nil, err @@ -198,7 +198,7 @@ func (c %[1]s) %[2]s(ctx context.Context %[4]s) (result %[10]s, err error) { return &templated, nil } -func (c methodsAutoRestTemplater) listOperationTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) listOperationTemplate(data GeneratorData) (*string, error) { responseStructName, err := c.responseStructName(data) if err != nil { return nil, err @@ -225,7 +225,7 @@ func (c methodsAutoRestTemplater) listOperationTemplate(data ServiceGeneratorDat if err != nil { return nil, fmt.Errorf("building responder template: %+v", err) } - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } @@ -351,7 +351,7 @@ func (c %[1]s) %[2]sComplete(ctx context.Context%[3]s) (result %[2]sCompleteResu return &templated, nil } -func (c methodsAutoRestTemplater) longRunningOperationTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) longRunningOperationTemplate(data GeneratorData) (*string, error) { responseStructName, err := c.responseStructName(data) if err != nil { return nil, err @@ -435,7 +435,7 @@ func (c methodsAutoRestTemplater) argumentsTemplate() string { return fmt.Sprintf(", %s", strings.Join(args, ", ")) } -func (c methodsAutoRestTemplater) argumentsTemplateForMethod(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) argumentsTemplateForMethod(data GeneratorData) (*string, error) { arguments := make([]string, 0) if c.operation.ResourceIDName != nil { idName := *c.operation.ResourceIDName @@ -450,7 +450,7 @@ func (c methodsAutoRestTemplater) argumentsTemplateForMethod(data ServiceGenerat arguments = append(arguments, fmt.Sprintf("id %s", idName)) } if c.operation.RequestObject != nil { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining type name for request object: %+v", err) } @@ -467,7 +467,7 @@ func (c methodsAutoRestTemplater) argumentsTemplateForMethod(data ServiceGenerat return &out, nil } -func (c methodsAutoRestTemplater) preparerTemplate(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) preparerTemplate(data GeneratorData) (*string, error) { arguments, err := c.argumentsTemplateForMethod(data) if err != nil { return nil, fmt.Errorf("building arguments for preparer template: %+v", err) @@ -574,7 +574,7 @@ func (c %[1]s) preparerFor%[2]sWithNextLink(ctx context.Context, nextLink string return &output, nil } -func (c methodsAutoRestTemplater) responderTemplate(responseStructName string, data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) responderTemplate(responseStructName string, data GeneratorData) (*string, error) { expectedStatusCodes := make([]string, 0) for _, statusCodeInt := range c.operation.ExpectedStatusCodes { statusCode := golangConstantForStatusCode(statusCodeInt) @@ -600,7 +600,7 @@ func (c methodsAutoRestTemplater) responderTemplate(responseStructName string, d steps = append(steps, "autorest.ByClosing()") if c.operation.FieldContainingPaginationDetails != nil && discriminatedType == "" { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } @@ -652,7 +652,7 @@ func (c %[1]s) responderFor%[2]s(resp *http.Response) (result %[6]s, err error) } if discriminatedType != "" && c.operation.FieldContainingPaginationDetails != nil { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } @@ -751,7 +751,7 @@ func (c %[1]s) responderFor%[2]s(resp *http.Response) (result %[5]s, err error) return &output, nil } -func (c methodsAutoRestTemplater) responseStructName(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) responseStructName(data GeneratorData) (*string, error) { responseStructName := fmt.Sprintf("%[1]sOperationResponse", c.operationName) if _, hasExistingModel := data.models[responseStructName]; hasExistingModel { responseStructName = fmt.Sprintf("%[1]sOperationApiResponse", c.operationName) @@ -767,7 +767,7 @@ func (c methodsAutoRestTemplater) responseStructTemplate(responseStructName stri model := "" typeName := "" if c.operation.ResponseObject != nil { - golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil) + golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } @@ -835,7 +835,7 @@ type %[1]s struct { return &output, nil } -func (c methodsAutoRestTemplater) senderLongRunningOperationTemplate(data ServiceGeneratorData) string { +func (c methodsAutoRestTemplater) senderLongRunningOperationTemplate(data GeneratorData) string { return fmt.Sprintf(` // senderFor%[2]s sends the %[2]s request. The method will close the // http.Response Body if it receives an error. @@ -852,7 +852,7 @@ func (c %[1]s) senderFor%[2]s(ctx context.Context, req *http.Request) (future %[ `, data.serviceClientName, c.operationName) } -func (c methodsAutoRestTemplater) optionsStruct(data ServiceGeneratorData) (*string, error) { +func (c methodsAutoRestTemplater) optionsStruct(data GeneratorData) (*string, error) { if len(c.operation.Options) == 0 { out := "" return &out, nil diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_autorest_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_autorest_test.go index ae8a9ea2e47..0b8c176e30d 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_autorest_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_autorest_test.go @@ -10,7 +10,7 @@ import ( ) func TestTemplateMethodsAutoRestLRODelete(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -41,7 +41,7 @@ func (c pandaClient) senderForDelete(ctx context.Context, req *http.Request) (fu } func TestTemplateMethodsAutoRestLROCreate(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -73,7 +73,7 @@ func (c pandaClient) senderForCreate(ctx context.Context, req *http.Request) (fu } func TestTemplateMethodAutoRestDiscriminatedTypeResponder(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -124,7 +124,7 @@ func TestTemplateMethodAutoRestDiscriminatedTypeResponder(t *testing.T) { } func TestTemplateMethodsAutoRestBaseTypePredicates(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -244,7 +244,7 @@ func (c pandaClient) ListComplete(ctx context.Context, id PandaPop) (result List } func TestTemplateMethodsAutoRestNonBaseTypePredicates(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go index f8c5b1c5516..bf514e4c2ca 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go @@ -19,7 +19,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsImplementation_Get(t *tes // In this instance the Discriminated Implementation Type should be used in the Response and the // Discriminated Parent's `unmarshal` function shouldn't be called. - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -121,7 +121,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsParent_Get(t *testing.T) // This test covers the Response Object being a Discriminated Parent Type for a GET operation // In this instance the `unmarshal` function for the Parent Type should be called as a part // of the Response. - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -228,7 +228,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsImplementation_List(t *te // for a GET Operation. In this instance a slice of the Discriminated Implementation Type // should be output - and the Discriminated Parent's `unmarshal` function shouldn't be called. - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -384,7 +384,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsParent_List(t *testing.T) // for a GET Operation. In this instance a slice of the Discriminated Parent Type // should be output - and the (Discriminated Parent's) `unmarshal` function should be called. - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go index 7a11a064bf5..0a2a0249a70 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go @@ -10,7 +10,7 @@ import ( ) func TestTemplateMethodsLROCreate(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -103,7 +103,7 @@ func (c pandaClient) CreateThenPoll(ctx context.Context , id PandaPop, input str } func TestTemplateMethodsLROReboot(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -194,7 +194,7 @@ func TestTemplateMethodsLRODoesNotCallUnmarshal(t *testing.T) { // As such this test asserts that we don't call `Unmarshal` prior to creating the LRO // Poller - since (for the moment) consumers will need to decide when `Unmarshal` should // be called on the LRO Result, if needed at all. - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_test.go index be691cba4dd..9773931ccfc 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_test.go @@ -14,7 +14,7 @@ import ( // TODO: split the tests out into sub-groupings & add more coverage func TestTemplateMethodsGet(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -87,7 +87,7 @@ func (c pandaClient) Get(ctx context.Context , id PandaPop) (result GetOperation } func TestTemplateMethodsGetAsTextPowerShell(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -165,7 +165,7 @@ func (c pandaClient) Get(ctx context.Context , id PandaPop) (result GetOperation // As such these tests (whilst similar) cover the two different code paths. func TestTemplateMethodsListWithDiscriminatedType(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -333,7 +333,7 @@ func (c pandaClient) ListCompleteMatchingPredicate(ctx context.Context, id Panda } func TestTemplateMethodsListWithSimpleType(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -454,7 +454,7 @@ func (c pandaClient) ListComplete(ctx context.Context, id PandaPop) (result List } func TestTemplateMethodsListWithObject(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 5a37aebee76..2147884e529 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -20,7 +20,7 @@ type modelsTemplater struct { model models.SDKModel } -func (c modelsTemplater) template(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) template(data GeneratorData) (*string, error) { copyrightLines, err := copyrightLinesForSource(data.source) if err != nil { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) @@ -58,7 +58,7 @@ import ( return &template, nil } -func (c modelsTemplater) structCode(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) structCode(data GeneratorData) (*string, error) { // if this is an Abstract/Type Hint, we output an Interface with a manual unmarshal func that gets called wherever it's used if c.model.FieldNameContainingDiscriminatedValue != nil && c.model.ParentTypeName == nil { out := fmt.Sprintf(` @@ -87,7 +87,7 @@ type Raw%[1]sImpl struct { for _, fieldName := range fields { fieldDetails := c.model.Fields[fieldName] fieldTypeName := "FIXME" - fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil) + fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) } @@ -138,7 +138,7 @@ type Raw%[1]sImpl struct { for _, fieldName := range parentFields { fieldDetails := parent.Fields[fieldName] fieldTypeName := "FIXME" - fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil) + fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) } @@ -169,7 +169,7 @@ type %[1]s struct { return &out, nil } -func (c modelsTemplater) methods(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) methods(data GeneratorData) (*string, error) { code := make([]string, 0) dateFunctions, err := c.codeForDateFunctions(data) @@ -196,7 +196,7 @@ func (c modelsTemplater) methods(data ServiceGeneratorData) (*string, error) { return &output, nil } -func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDetails models.SDKField, data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDetails models.SDKField, data GeneratorData) (*string, error) { jsonDetails := fieldDetails.JsonName isOptional := false @@ -239,7 +239,7 @@ func (c modelsTemplater) dateFormatString(input models.SDKDateFormat) string { } } -func (c modelsTemplater) codeForDateFunctions(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) codeForDateFunctions(data GeneratorData) (*string, error) { fieldsRequiringDateFunctions := make([]string, 0) // parent models are output as interfaces with no fields - so we can skip these // since the inherited models output the fields from their parents, the methods are output there @@ -332,7 +332,7 @@ func (c modelsTemplater) dateFunctionForField(fieldName string, fieldDetails mod return &out, nil } -func (c modelsTemplater) codeForMarshalFunctions(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, error) { output := "" if c.model.DiscriminatedValue != nil { @@ -392,7 +392,7 @@ func (s %[1]s) MarshalJSON() ([]byte, error) { return &output, nil } -func (c modelsTemplater) codeForUnmarshalFunctions(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) codeForUnmarshalFunctions(data GeneratorData) (*string, error) { unmarshalFunction, err := c.codeForUnmarshalStructFunction(data) if err != nil { return nil, fmt.Errorf("generating code for unmarshal struct function: %+v", err) @@ -410,7 +410,7 @@ func (c modelsTemplater) codeForUnmarshalFunctions(data ServiceGeneratorData) (* return &output, nil } -func (c modelsTemplater) codeForUnmarshalParentFunction(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) codeForUnmarshalParentFunction(data GeneratorData) (*string, error) { // if this is a Discriminated Type (e.g. Parent) then we need to generate a unmarshal{Name}Implementations // function which can be used in any usages lines := make([]string, 0) @@ -489,7 +489,7 @@ func unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { return &output, nil } -func (c modelsTemplater) codeForUnmarshalStructFunction(data ServiceGeneratorData) (*string, error) { +func (c modelsTemplater) codeForUnmarshalStructFunction(data GeneratorData) (*string, error) { // this is a parent, therefore there'll be no struct fields to check here if c.model.IsDiscriminatedParentType() { out := "" @@ -689,7 +689,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) // recurseParentModels walks the models hierarchy to find the parentName and field details of the model for disciminated types // This is a temporary measure until we update the swagger importer to connect the model fields inheritance for multiple parents. // Tracked at: https://github.com/hashicorp/pandora/issues/1235 -func (c modelsTemplater) recurseParentModels(data ServiceGeneratorData, model string, typeHint string) (*models.SDKField, *string, error) { +func (c modelsTemplater) recurseParentModels(data GeneratorData, model string, typeHint string) (*models.SDKField, *string, error) { parentModel, ok := data.models[model] if !ok { return nil, nil, fmt.Errorf("the parent model %q for model %q was not found", model, c.name) diff --git a/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go b/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go index ca8f6df4101..3ba3d203d08 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go @@ -26,7 +26,7 @@ func TestModelTemplaterWithOptionalFloatConstant(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -93,7 +93,7 @@ func TestModelTemplaterWithOptionalIntegerConstant(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -161,7 +161,7 @@ func TestModelTemplaterWithOptionalStringConstant(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -229,7 +229,7 @@ func TestModelTemplaterWithRequiredFloatConstant(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -296,7 +296,7 @@ func TestModelTemplaterWithRequiredIntegerConstant(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -363,7 +363,7 @@ func TestModelTemplaterWithRequiredStringConstant(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -437,7 +437,7 @@ func TestModelTemplaterWithOptionalListOfFloatConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -513,7 +513,7 @@ func TestModelTemplaterWithOptionalListOfIntegerConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -586,7 +586,7 @@ func TestModelTemplaterWithOptionalListOfStringConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -660,7 +660,7 @@ func TestModelTemplaterWithRequiredListOfFloatConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -733,7 +733,7 @@ func TestModelTemplaterWithRequiredListOfIntegerConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -809,7 +809,7 @@ func TestModelTemplaterWithRequiredListOfStringConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -883,7 +883,7 @@ func TestModelTemplaterWithOptionalMapOfFloatConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -959,7 +959,7 @@ func TestModelTemplaterWithOptionalMapOfIntegerConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -1032,7 +1032,7 @@ func TestModelTemplaterWithOptionalMapOfStringConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -1106,7 +1106,7 @@ func TestModelTemplaterWithRequiredMapOfFloatConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -1182,7 +1182,7 @@ func TestModelTemplaterWithRequiredMapOfIntegerConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -1255,7 +1255,7 @@ func TestModelTemplaterWithRequiredMapOfStringConstants(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { diff --git a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go index dcd7d480502..ebc9c0a5692 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go @@ -26,7 +26,7 @@ func TestTemplaterModelsParent(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "ModeOfTransit": { @@ -151,7 +151,7 @@ func TestTemplaterModelsImplementation(t *testing.T) { ParentTypeName: stringPointer("ModeOfTransit"), DiscriminatedValue: stringPointer("train"), }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "ModeOfTransit": { @@ -261,7 +261,7 @@ func TestTemplaterModelsFieldImplementation(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "ModeOfTransit": { @@ -356,7 +356,7 @@ func TestTemplaterModelsImplementationInheritedFromParentType(t *testing.T) { FieldNameContainingDiscriminatedValue: stringPointer("Type"), ParentTypeName: stringPointer("First"), }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "First": { diff --git a/tools/generator-go-sdk/internal/generator/templater_models_test.go b/tools/generator-go-sdk/internal/generator/templater_models_test.go index 05df5867a35..562d64905e0 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_test.go @@ -32,7 +32,7 @@ func TestModelTemplaterSimple(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -105,7 +105,7 @@ func TestModelTemplaterWithDate(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { @@ -199,7 +199,7 @@ func TestModelTemplaterWithOptionalObject(t *testing.T) { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "somepackage", models: map[string]models.SDKModel{ "Basic": { diff --git a/tools/generator-go-sdk/internal/generator/templater_predicates.go b/tools/generator-go-sdk/internal/generator/templater_predicates.go index 13f3251c25b..c2c242f05c0 100644 --- a/tools/generator-go-sdk/internal/generator/templater_predicates.go +++ b/tools/generator-go-sdk/internal/generator/templater_predicates.go @@ -16,7 +16,7 @@ type predicateTemplater struct { models map[string]models.SDKModel } -func (p predicateTemplater) template(data ServiceGeneratorData) (*string, error) { +func (p predicateTemplater) template(data GeneratorData) (*string, error) { output := make([]string, 0) for _, modelName := range p.sortedModelNames { model := data.models[modelName] @@ -95,7 +95,7 @@ func (p predicateTemplater) templateForModel(predicateStructName string, name st for _, fieldName := range fieldNames { fieldVal := model.Fields[fieldName] - typeInfo, err := helpers.GolangTypeForSDKObjectDefinition(fieldVal.ObjectDefinition, nil) + typeInfo, err := helpers.GolangTypeForSDKObjectDefinition(fieldVal.ObjectDefinition, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining type information for field %q in model %q with info %q: %+v", fieldName, name, string(fieldVal.ObjectDefinition.Type), err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_readme.go b/tools/generator-go-sdk/internal/generator/templater_readme.go index 92aec08ec9a..ca3831a735e 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme.go @@ -17,7 +17,7 @@ type readmeTemplater struct { operations map[string]models.SDKOperation } -func (r readmeTemplater) template(data ServiceGeneratorData) (*string, error) { +func (r readmeTemplater) template(data GeneratorData) (*string, error) { summary := r.packageSummary(data) clientInit := r.clientInitialization(data.packageName, data.serviceClientName) examples, err := r.exampleUsages(data) @@ -33,9 +33,9 @@ func (r readmeTemplater) template(data ServiceGeneratorData) (*string, error) { return &out, nil } -func (r readmeTemplater) packageSummary(data ServiceGeneratorData) string { +func (r readmeTemplater) packageSummary(data GeneratorData) string { importLines := []string{ - fmt.Sprintf(`import "github.com/hashicorp/go-azure-sdk/resource-manager/%[1]s/%[2]s/%[3]s"`, data.servicePackageName, data.apiVersion, data.packageName), + fmt.Sprintf(`import "github.com/hashicorp/go-azure-sdk/%[1]s/%[2]s/%[3]s/%[4]s"`, data.sourceType, data.servicePackageName, data.apiVersion, data.packageName), } containsCommonId := false for _, resourceId := range data.resourceIds { @@ -50,18 +50,18 @@ func (r readmeTemplater) packageSummary(data ServiceGeneratorData) string { sort.Strings(importLines) return fmt.Sprintf(` -## 'github.com/hashicorp/go-azure-sdk/resource-manager/%[1]s/%[2]s/%[3]s' Documentation +## 'github.com/hashicorp/go-azure-sdk/%[1]s/%[2]s/%[3]s/%[4]s' Documentation -The '%[3]s' SDK allows for interaction with the Azure Resource Manager Service '%[1]s' (API Version '%[2]s'). +The '%[4]s' SDK allows for interaction with the Azure Resource Manager Service '%[2]s' (API Version '%[3]s'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). ### Import Path '''go -%[4]s +%[5]s ''' -`, data.servicePackageName, data.apiVersion, data.packageName, strings.Join(importLines, "\n")) +`, data.sourceType, data.servicePackageName, data.apiVersion, data.packageName, strings.Join(importLines, "\n")) } func (r readmeTemplater) clientInitialization(packageName, clientName string) string { @@ -75,7 +75,7 @@ client.Client.Authorizer = authorizer `, packageName, clientName) } -func (r readmeTemplater) exampleUsages(data ServiceGeneratorData) (*string, error) { +func (r readmeTemplater) exampleUsages(data GeneratorData) (*string, error) { examples := make([]string, 0) for _, operationName := range r.sortedOperationNames { @@ -96,7 +96,7 @@ func (r readmeTemplater) exampleUsages(data ServiceGeneratorData) (*string, erro return &out, nil } -func (r readmeTemplater) exampleUsageForOperation(packageName, clientName, operationName string, operation models.SDKOperation, data ServiceGeneratorData) (*string, error) { +func (r readmeTemplater) exampleUsageForOperation(packageName, clientName, operationName string, operation models.SDKOperation, data GeneratorData) (*string, error) { if operation.FieldContainingPaginationDetails != nil { return r.exampleUsageForListOperation(packageName, clientName, operationName, operation, data) } @@ -108,7 +108,7 @@ func (r readmeTemplater) exampleUsageForOperation(packageName, clientName, opera return r.exampleUsageForRegularOperation(packageName, clientName, operationName, operation, data) } -func (r readmeTemplater) resourceIdInitialization(operation models.SDKOperation, data ServiceGeneratorData) (*string, error) { +func (r readmeTemplater) resourceIdInitialization(operation models.SDKOperation, data GeneratorData) (*string, error) { resourceId, ok := data.resourceIds[*operation.ResourceIDName] if !ok { return nil, fmt.Errorf("resource id %q was not found", *operation.ResourceIDName) @@ -132,7 +132,7 @@ func (r readmeTemplater) resourceIdInitialization(operation models.SDKOperation, return &out, nil } -func (r readmeTemplater) exampleUsageForRegularOperation(packageName, clientName, operationName string, operation models.SDKOperation, data ServiceGeneratorData) (*string, error) { +func (r readmeTemplater) exampleUsageForRegularOperation(packageName, clientName, operationName string, operation models.SDKOperation, data GeneratorData) (*string, error) { lines := make([]string, 0) methodArgs := []string{ @@ -157,7 +157,7 @@ payload := %[1]s.%[2]s{ `, packageName, *operation.RequestObject.ReferenceName)) } else { // for simplicities sake - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for request object: %+v", err) } @@ -188,7 +188,7 @@ if model := read.Model; model != nil { return &out, nil } -func (r readmeTemplater) exampleUsageForListOperation(packageName, clientName, operationName string, operation models.SDKOperation, data ServiceGeneratorData) (*string, error) { +func (r readmeTemplater) exampleUsageForListOperation(packageName, clientName, operationName string, operation models.SDKOperation, data GeneratorData) (*string, error) { lines := make([]string, 0) methodArgs := []string{ @@ -213,7 +213,7 @@ payload := %[1]s.%[2]s{ `, packageName, *operation.RequestObject.ReferenceName)) } else { // for simplicities sake - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for request object: %+v", err) } @@ -245,7 +245,7 @@ for _, item := range items { return &out, nil } -func (r readmeTemplater) exampleUsageForLongRunningOperation(packageName, clientName, operationName string, operation models.SDKOperation, data ServiceGeneratorData) (*string, error) { +func (r readmeTemplater) exampleUsageForLongRunningOperation(packageName, clientName, operationName string, operation models.SDKOperation, data GeneratorData) (*string, error) { lines := make([]string, 0) methodArgs := []string{ @@ -270,7 +270,7 @@ payload := %[1]s.%[2]s{ `, packageName, *operation.RequestObject.ReferenceName)) } else { // for simplicities sake - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for request object: %+v", err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_readme_test.go b/tools/generator-go-sdk/internal/generator/templater_readme_test.go index 0e5950483b4..242ba8888af 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme_test.go @@ -36,7 +36,7 @@ client.Client.Authorizer = authorizer actual, err := readmeTemplater{ sortedOperationNames: []string{}, operations: map[string]models.SDKOperation{}, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -93,7 +93,7 @@ if model := read.Model; model != nil { ResourceIDName: stringPointer("Disk"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -159,7 +159,7 @@ if model := read.Model; model != nil { ResourceIDName: stringPointer("Disk"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -232,7 +232,7 @@ if model := read.Model; model != nil { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -319,7 +319,7 @@ if model := read.Model; model != nil { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -399,7 +399,7 @@ if model := read.Model; model != nil { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -463,7 +463,7 @@ if model := read.Model; model != nil { ResourceIDName: nil, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -528,7 +528,7 @@ if model := read.Model; model != nil { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -588,7 +588,7 @@ for _, item := range items { ResourceIDName: stringPointer("Disk"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -656,7 +656,7 @@ for _, item := range items { ResourceIDName: stringPointer("Disk"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -731,7 +731,7 @@ for _, item := range items { FieldContainingPaginationDetails: stringPointer("SomeField"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -820,7 +820,7 @@ for _, item := range items { FieldContainingPaginationDetails: stringPointer("SomeField"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -902,7 +902,7 @@ for _, item := range items { FieldContainingPaginationDetails: stringPointer("SomeField"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -975,7 +975,7 @@ for _, item := range items { FieldContainingPaginationDetails: stringPointer("SomeField"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -1030,7 +1030,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id); err != nil { ResourceIDName: stringPointer("Disk"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -1093,7 +1093,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id); err != nil { ResourceIDName: stringPointer("Disk"), }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -1163,7 +1163,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id, payload); err != nil { }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -1247,7 +1247,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id, payload, disks.DefaultSomeLong }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -1323,7 +1323,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id, disks.DefaultSomeLongRunningOp }, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -1385,7 +1385,7 @@ if err := client.SomeLongRunningThenPoll(ctx); err != nil { ResourceIDName: nil, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", @@ -1461,7 +1461,7 @@ if model := read.Model; model != nil { ResourceIDName: nil, }, }, - }.template(ServiceGeneratorData{ + }.template(GeneratorData{ packageName: "disks", apiVersion: "2022-02-01", servicePackageName: "compute", diff --git a/tools/generator-go-sdk/internal/generator/templater_version.go b/tools/generator-go-sdk/internal/generator/templater_version.go index d4e1d190f44..ce35d8e2145 100644 --- a/tools/generator-go-sdk/internal/generator/templater_version.go +++ b/tools/generator-go-sdk/internal/generator/templater_version.go @@ -7,7 +7,7 @@ var _ templaterForResource = versionTemplater{} type versionTemplater struct { } -func (c versionTemplater) template(data ServiceGeneratorData) (*string, error) { +func (c versionTemplater) template(data GeneratorData) (*string, error) { copyrightLines, err := copyrightLinesForSource(data.source) if err != nil { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/templater_version_test.go b/tools/generator-go-sdk/internal/generator/templater_version_test.go index 66ab1dae9ae..666a9b04f20 100644 --- a/tools/generator-go-sdk/internal/generator/templater_version_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_version_test.go @@ -8,7 +8,7 @@ import ( ) func TestTemplateVersion(t *testing.T) { - input := ServiceGeneratorData{ + input := GeneratorData{ packageName: "somepackage", apiVersion: "2022-02-01", source: AccTestLicenceType, diff --git a/tools/generator-terraform/internal/generator/mappings/assignment_direct.go b/tools/generator-terraform/internal/generator/mappings/assignment_direct.go index 99cf004cdf4..4e7179967f1 100644 --- a/tools/generator-terraform/internal/generator/mappings/assignment_direct.go +++ b/tools/generator-terraform/internal/generator/mappings/assignment_direct.go @@ -248,7 +248,7 @@ output.%[1]s = &%[4]s return nil, fmt.Errorf("expected a DirectAssignment between %q and %q but got %q", string(schemaField.ObjectDefinition.NestedObject.Type), string(v), string(sdkField.ObjectDefinition.NestedItem.Type)) } - variableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName) + variableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type for Sdk Model %q / Field %q Object Definition: %+v", mapping.DirectAssignment.SDKModelName, mapping.DirectAssignment.SDKFieldName, err) } @@ -293,12 +293,12 @@ output.%[1]s = &%[3]s } func (d directAssignmentLine) schemaToSdkMappingBetweenListOfReferenceFields(mapping models.TerraformDirectAssignmentFieldMappingDefinition, schemaField models.TerraformSchemaField, sdkField models.SDKField, apiResourcePackageName string) (*string, error) { - listVariableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName) + listVariableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type for Sdk Model %q / Field %q Object Definition: %+v", mapping.DirectAssignment.SDKModelName, mapping.DirectAssignment.SDKFieldName, err) } - listItemVariableReferenceType, err := helpers.GolangTypeForSDKObjectDefinition(*sdkField.ObjectDefinition.NestedItem, &apiResourcePackageName) + listItemVariableReferenceType, err := helpers.GolangTypeForSDKObjectDefinition(*sdkField.ObjectDefinition.NestedItem, &apiResourcePackageName, nil, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type for Sdk Model %q / Field %q Nested Object Definition: %+v", mapping.DirectAssignment.SDKModelName, mapping.DirectAssignment.SDKFieldName, err) } diff --git a/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go b/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go index 699a5c2ddac..ddbd7096e21 100644 --- a/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go +++ b/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go @@ -29,7 +29,7 @@ func (m modelToModelAssignmentLine) assignmentForCreateUpdateMapping(mapping mod return nil, fmt.Errorf("a ModelToModel mapping must be a Reference but got %q", string(sdkField.ObjectDefinition.Type)) } outputModelName := *sdkField.ObjectDefinition.ReferenceName - sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName) + sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type Name for SDK Field: %+v", err) } @@ -68,7 +68,7 @@ func (m modelToModelAssignmentLine) assignmentForReadMapping(mapping models.Terr } outputModelName := *sdkField.ObjectDefinition.ReferenceName - sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName) + sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type Name for SDK Field: %+v", err) } diff --git a/tools/generator-terraform/internal/generator/resource/component_create_func.go b/tools/generator-terraform/internal/generator/resource/component_create_func.go index 5eb4d0b5314..20f2ecdec58 100644 --- a/tools/generator-terraform/internal/generator/resource/component_create_func.go +++ b/tools/generator-terraform/internal/generator/resource/component_create_func.go @@ -199,7 +199,7 @@ id := %[3]s(%[4]s) func (h createFunctionComponents) payloadDefinition() (*string, error) { // NOTE: whilst Payload is _technically_ optional in the API endpoint it's not, else it // wouldn't be a Create method - createObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.createMethod.RequestObject, &h.sdkResourceNameLowered) + createObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.createMethod.RequestObject, &h.sdkResourceNameLowered, nil, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type name for Create Request Object: %+v", err) } diff --git a/tools/generator-terraform/internal/generator/resource/component_update_func.go b/tools/generator-terraform/internal/generator/resource/component_update_func.go index 373b6557411..6c27c497d55 100644 --- a/tools/generator-terraform/internal/generator/resource/component_update_func.go +++ b/tools/generator-terraform/internal/generator/resource/component_update_func.go @@ -130,7 +130,7 @@ func (h updateFuncHelpers) modelDecode() (*string, error) { } func (h updateFuncHelpers) payloadDefinition() (*string, error) { - updateObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.updateMethod.RequestObject, &h.sdkResourceNameLowered) + updateObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.updateMethod.RequestObject, &h.sdkResourceNameLowered, nil, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type name for Update Request Object: %+v", err) } From 013a475f3ec42642c0dde19ee0c441f1cb92e1da Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 29 Jul 2024 22:13:34 +0100 Subject: [PATCH 004/134] importer-msgraph-metadata: set correct response model for list operations --- .../pipeline/task_translate_service.go | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index acf1c65286c..785fc24c2be 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -5,7 +5,6 @@ package pipeline import ( "fmt" - sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" @@ -97,22 +96,45 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta for _, response := range operation.Responses { if response.Type != nil && *response.Type == parser.DataTypeModel && response.ModelName != nil { - if !models.Found(*response.ModelName) { - return nil, fmt.Errorf("response model %q was not found for operation: %s", *response.ModelName, operation.Name) + modelName := *response.ModelName + + if !models.Found(modelName) { + return nil, fmt.Errorf("response model %q was not found for operation: %s", modelName, operation.Name) } - if model := models[*response.ModelName]; !model.IsValid() { - return nil, fmt.Errorf("response model %q was invalid for operation: %s", *response.ModelName, operation.Name) + model := models[modelName] + + if !model.IsValid() { + return nil, fmt.Errorf("response model %q was invalid for operation: %s", modelName, operation.Name) } else if !model.Common { responseObjectIsCommonType = false - if err := serviceModels.MergeDependants(models, *response.ModelName); err != nil { + if err := serviceModels.MergeDependants(models, modelName); err != nil { return nil, err } } + // List operations return a "CollectionResponse" object, which we are not interested in + // We want the actual underlying model, expected to be in the `value` field + if operation.Type == parser.OperationTypeList { + if value, ok := model.Fields["Value"]; ok && value != nil && *value.Type == parser.DataTypeArray && value.ModelName != nil { + responseObjectIsCommonType = true + modelName = *value.ModelName + + if !models.Found(modelName) { + return nil, fmt.Errorf("nested response model %q was not found for operation: %s", modelName, operation.Name) + } else if !model.Common { + responseObjectIsCommonType = false + + if err := serviceModels.MergeDependants(models, modelName); err != nil { + return nil, err + } + } + } + } + responseObject = &sdkModels.SDKObjectDefinition{ - ReferenceName: response.ModelName, + ReferenceName: &modelName, ReferenceNameIsCommonType: &responseObjectIsCommonType, Type: sdkModels.ReferenceSDKObjectDefinitionType, } From cf468917e33c4957276ae6c49578c9d06d2a494a Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 29 Jul 2024 22:16:52 +0100 Subject: [PATCH 005/134] data-api-repository: support `ReferenceNameIsCommonType` for object definitions --- .../repository/internal/models/object_definition.go | 4 +++- .../internal/transforms/sdk_field_object_definition.go | 9 +++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/data-api-repository/repository/internal/models/object_definition.go b/tools/data-api-repository/repository/internal/models/object_definition.go index 9f1ba91501b..d25ce9fe449 100644 --- a/tools/data-api-repository/repository/internal/models/object_definition.go +++ b/tools/data-api-repository/repository/internal/models/object_definition.go @@ -8,10 +8,12 @@ type ObjectDefinition struct { // ObjectDefinitionType defines what kind of ObjectDefinition this is, such as a Reference, String or List Type ObjectDefinitionType `json:"type"` - // NOTE: we could split this into ConstantName and ModelName in time, but not today. // ReferenceName is the name of the Constant or Model that this is a reference to ReferenceName *string `json:"referenceName"` + // ReferenceNameIsCommonType indicates whether ReferenceName refers to a common type (true) or a type that is local to the service (false) + ReferenceNameIsCommonType *bool `json:"referenceNameIsCommonType"` + // NestedItem is a nested ObjectDefinition when Type is a Dictionary or List // NOTE: that it's possible to have deeply-nested ObjectDefinitions, e.g. a List of a List of a Dictionary[String (key, fixed as a string) : Integer (value) NestedItem *ObjectDefinition `json:"nestedItem,omitempty"` diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go b/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go index 3aabb1e05cd..5aa61ffbc55 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go @@ -17,8 +17,9 @@ func mapSDKFieldObjectDefinitionFromRepository(input repositoryModels.ObjectDefi return nil, fmt.Errorf("internal-error: missing a mapping for the ObjectDefinitionType %q", string(input.Type)) } output := sdkModels.SDKObjectDefinition{ - ReferenceName: input.ReferenceName, - Type: typeVal, + ReferenceName: input.ReferenceName, + ReferenceNameIsCommonType: input.ReferenceNameIsCommonType, + Type: typeVal, } if input.NestedItem != nil { @@ -47,6 +48,10 @@ func mapSDKFieldObjectDefinitionToRepository(input sdkModels.SDKObjectDefinition output.ReferenceName = input.ReferenceName } + if input.ReferenceNameIsCommonType != nil { + output.ReferenceNameIsCommonType = input.ReferenceNameIsCommonType + } + if input.NestedItem != nil { nestedItem, err := mapSDKFieldObjectDefinitionToRepository(*input.NestedItem, knownData) if err != nil { From eb707ce63db316933e2accfe2f7d0499df36edbb Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 29 Jul 2024 22:18:06 +0100 Subject: [PATCH 006/134] generator-go-sdk: use the value of `ReferenceNameIsCommonType` instead of trying to work it out for each model --- .../internal/differ/differ_helpers.go | 2 +- .../golang_type_for_sdk_object_definition.go | 22 ++++++------------- .../internal/generator/data.go | 13 ----------- .../internal/generator/service.go | 4 ++-- .../internal/generator/templater_methods.go | 22 ++++++++++++------- .../generator/templater_methods_autorest.go | 10 ++++----- .../internal/generator/templater_models.go | 4 ++-- .../generator/templater_predicates.go | 2 +- .../internal/generator/templater_readme.go | 6 ++--- .../generator/mappings/assignment_direct.go | 6 ++--- .../mappings/assignment_model_to_model.go | 4 ++-- .../resource/component_create_func.go | 2 +- .../resource/component_update_func.go | 2 +- 13 files changed, 42 insertions(+), 57 deletions(-) diff --git a/tools/data-api-differ/internal/differ/differ_helpers.go b/tools/data-api-differ/internal/differ/differ_helpers.go index ff7e36b646c..bfb860a79c5 100644 --- a/tools/data-api-differ/internal/differ/differ_helpers.go +++ b/tools/data-api-differ/internal/differ/differ_helpers.go @@ -12,7 +12,7 @@ import ( // stringifySDKObjectDefinition returns a human readable, string version of this SDKObjectDefinition. func (d differ) stringifySDKObjectDefinition(input models.SDKObjectDefinition) (*string, error) { - return helpers.GolangTypeForSDKObjectDefinition(input, nil, nil, nil) + return helpers.GolangTypeForSDKObjectDefinition(input, nil, nil) } // stringifySDKOperationOptionObjectDefinition returns a human readable, string version of this Object Definition. diff --git a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go index 4a000b4a0f3..0ea495b912e 100644 --- a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go +++ b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go @@ -11,7 +11,7 @@ import ( ) // GolangTypeForSDKObjectDefinition returns the Golang type name for the SDKObjectDefinition provided in `input`. -func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPackageName *string, serviceTypeNames *[]string, commonTypesPackageName *string) (*string, error) { +func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPackageName *string, commonTypesPackageName *string) (*string, error) { // TODO: we should look to add unit tests for this method // NOTE: all of this validation should be done in the Importer and the API - this is purely sanity checking @@ -31,7 +31,7 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa return nil, fmt.Errorf("a dictionary type must have a nested item but didn't get one") } - innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName, serviceTypeNames, commonTypesPackageName) + innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName, commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining inner type for dictionary: %+v", err) } @@ -44,7 +44,7 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa return nil, fmt.Errorf("a list type must have a nested item but didn't get one") } - innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName, serviceTypeNames, commonTypesPackageName) + innerType, err := GolangTypeForSDKObjectDefinition(*input.NestedItem, golangPackageName, commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining inner type for list: %+v", err) } @@ -60,19 +60,11 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa out := *input.ReferenceName if golangPackageName != nil { out = fmt.Sprintf("%s.%s", *golangPackageName, out) - } else if serviceTypeNames != nil && commonTypesPackageName != nil { - // when serviceTypeNames is specified, look to see if the referenced type is present in the service, and if not, assume it's a common type - found := false - for _, typeName := range *serviceTypeNames { - if typeName == *input.ReferenceName { - found = true - break - } - } - - if !found { - out = fmt.Sprintf("%s.%s", *commonTypesPackageName, out) + } else if input.ReferenceNameIsCommonType != nil && *input.ReferenceNameIsCommonType { + if commonTypesPackageName == nil { + return nil, fmt.Errorf("ReferenceName %q is indicated to be a common type, but common types package name was not specified", *input.ReferenceName) } + out = fmt.Sprintf("%s.%s", *commonTypesPackageName, out) } return pointer.To(out), nil diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index 508fe4e0dc5..5c0c9dd1fce 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -61,10 +61,6 @@ type GeneratorData struct { // the name of the service as a package (e.g. resources or eventhub) servicePackageName string - // slice of constant/model type names present for the service, used to determine whether a referenced type - // is local to the service, or is a common type - serviceTypeNames []string - // sourceType is the source data type and is the SDK package name sourceType models.SourceDataType @@ -91,14 +87,6 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) - serviceTypeNames := make([]string, 0) - for constantName := range i.ResourceDetails.Constants { - serviceTypeNames = append(serviceTypeNames, constantName) - } - for modelName := range i.ResourceDetails.Models { - serviceTypeNames = append(serviceTypeNames, modelName) - } - var commonTypesPackageName, commonTypesIncludePath *string if len(i.CommonTypes.Constants) > 0 && len(i.CommonTypes.Models) > 0 { commonTypesPackageName = pointer.To(strings.ToLower(strings.ReplaceAll(i.VersionName, "-", "_"))) @@ -120,7 +108,6 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { resourceOutputPath: resourceOutputPath, serviceClientName: fmt.Sprintf("%sClient", strings.Title(i.ResourceName)), servicePackageName: strings.ToLower(i.ServiceName), - serviceTypeNames: serviceTypeNames, source: i.Source, sourceType: i.Type, useIdAliases: false, diff --git a/tools/generator-go-sdk/internal/generator/service.go b/tools/generator-go-sdk/internal/generator/service.go index 4cac1c2052e..feb3c5766d5 100644 --- a/tools/generator-go-sdk/internal/generator/service.go +++ b/tools/generator-go-sdk/internal/generator/service.go @@ -100,9 +100,9 @@ func (s *ServiceGenerator) GenerateForVersion(input VersionGeneratorInput) error } runGoFmt(data.commonTypesOutputPath) - runGoImports(data.commonTypesOutputPath) - runGoFmt(data.versionOutputPath) + + runGoImports(data.commonTypesOutputPath) runGoImports(data.versionOutputPath) return nil diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index 97b463781e3..c6dce5a0b8f 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -301,10 +301,16 @@ func (c methodsPandoraTemplater) listOperationTemplate(data GeneratorData) (*str if err != nil { return nil, fmt.Errorf("building options struct: %+v", err) } - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } + predicateName := "OperationPredicate" + if parts := strings.SplitN(*typeName, ".", 2); len(parts) == 2 { + predicateName = fmt.Sprintf("%s%s", parts[1], predicateName) + } else { + predicateName = fmt.Sprintf("%s%s", *typeName, predicateName) + } templated := fmt.Sprintf(` %[6]s @@ -342,11 +348,11 @@ func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, // %[2]sComplete retrieves all the results into a single object func (c %[1]s) %[2]sComplete(ctx context.Context%[4]s) (%[2]sCompleteResult, error) { - return c.%[2]sCompleteMatchingPredicate(ctx%[6]s, %[7]sOperationPredicate{}) + return c.%[2]sCompleteMatchingPredicate(ctx%[6]s, %[8]s{}) } // %[2]sCompleteMatchingPredicate retrieves all the results and then applies the predicate -func (c %[1]s) %[2]sCompleteMatchingPredicate(ctx context.Context%[4]s, predicate %[7]sOperationPredicate) (result %[2]sCompleteResult, err error) { +func (c %[1]s) %[2]sCompleteMatchingPredicate(ctx context.Context%[4]s, predicate %[8]s) (result %[2]sCompleteResult, err error) { items := make([]%[7]s, 0) resp, err := c.%[2]s(ctx%[6]s) @@ -369,7 +375,7 @@ func (c %[1]s) %[2]sCompleteMatchingPredicate(ctx context.Context%[4]s, predicat } return } -`, data.serviceClientName, c.operationName, data.packageName, *methodArguments, *responseStruct, argumentsCode, *typeName) +`, data.serviceClientName, c.operationName, data.packageName, *methodArguments, *responseStruct, argumentsCode, *typeName, predicateName) } else { templated += fmt.Sprintf(` // %[2]sComplete retrieves all the results into a single object @@ -471,7 +477,7 @@ func (c methodsPandoraTemplater) argumentsTemplateForMethod(data GeneratorData) arguments = append(arguments, fmt.Sprintf("id %s", idName)) } if c.operation.RequestObject != nil { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining type name for request object: %+v", err) } @@ -583,7 +589,7 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin } if c.operation.ResponseObject != nil { - golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) + golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } @@ -661,7 +667,7 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin result.Model = &model `, discriminatedTypeParentName) } else { - responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) + responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } @@ -692,7 +698,7 @@ func (c methodsPandoraTemplater) responseStructTemplate(data GeneratorData) (*st model := "" typeName := "" if c.operation.ResponseObject != nil { - golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, &data.serviceTypeNames, data.commonTypesPackageName) + golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go b/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go index 8b2702d183d..4d5f40ff501 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_autorest.go @@ -225,7 +225,7 @@ func (c methodsAutoRestTemplater) listOperationTemplate(data GeneratorData) (*st if err != nil { return nil, fmt.Errorf("building responder template: %+v", err) } - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } @@ -450,7 +450,7 @@ func (c methodsAutoRestTemplater) argumentsTemplateForMethod(data GeneratorData) arguments = append(arguments, fmt.Sprintf("id %s", idName)) } if c.operation.RequestObject != nil { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil, nil, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.RequestObject, nil, nil) if err != nil { return nil, fmt.Errorf("determining type name for request object: %+v", err) } @@ -600,7 +600,7 @@ func (c methodsAutoRestTemplater) responderTemplate(responseStructName string, d steps = append(steps, "autorest.ByClosing()") if c.operation.FieldContainingPaginationDetails != nil && discriminatedType == "" { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } @@ -652,7 +652,7 @@ func (c %[1]s) responderFor%[2]s(resp *http.Response) (result %[6]s, err error) } if discriminatedType != "" && c.operation.FieldContainingPaginationDetails != nil { - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for response object: %+v", err) } @@ -767,7 +767,7 @@ func (c methodsAutoRestTemplater) responseStructTemplate(responseStructName stri model := "" typeName := "" if c.operation.ResponseObject != nil { - golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil, nil) + golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, nil) if err != nil { return nil, fmt.Errorf("determing golang type name for response object: %+v", err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 2147884e529..c37fc2e5d67 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -87,7 +87,7 @@ type Raw%[1]sImpl struct { for _, fieldName := range fields { fieldDetails := c.model.Fields[fieldName] fieldTypeName := "FIXME" - fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil, nil) + fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil) if err != nil { return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) } @@ -138,7 +138,7 @@ type Raw%[1]sImpl struct { for _, fieldName := range parentFields { fieldDetails := parent.Fields[fieldName] fieldTypeName := "FIXME" - fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil, nil) + fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil) if err != nil { return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_predicates.go b/tools/generator-go-sdk/internal/generator/templater_predicates.go index c2c242f05c0..8e2a71e2494 100644 --- a/tools/generator-go-sdk/internal/generator/templater_predicates.go +++ b/tools/generator-go-sdk/internal/generator/templater_predicates.go @@ -95,7 +95,7 @@ func (p predicateTemplater) templateForModel(predicateStructName string, name st for _, fieldName := range fieldNames { fieldVal := model.Fields[fieldName] - typeInfo, err := helpers.GolangTypeForSDKObjectDefinition(fieldVal.ObjectDefinition, nil, nil, nil) + typeInfo, err := helpers.GolangTypeForSDKObjectDefinition(fieldVal.ObjectDefinition, nil, nil) if err != nil { return nil, fmt.Errorf("determining type information for field %q in model %q with info %q: %+v", fieldName, name, string(fieldVal.ObjectDefinition.Type), err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_readme.go b/tools/generator-go-sdk/internal/generator/templater_readme.go index ca3831a735e..b4cfa44960d 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme.go @@ -157,7 +157,7 @@ payload := %[1]s.%[2]s{ `, packageName, *operation.RequestObject.ReferenceName)) } else { // for simplicities sake - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for request object: %+v", err) } @@ -213,7 +213,7 @@ payload := %[1]s.%[2]s{ `, packageName, *operation.RequestObject.ReferenceName)) } else { // for simplicities sake - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for request object: %+v", err) } @@ -270,7 +270,7 @@ payload := %[1]s.%[2]s{ `, packageName, *operation.RequestObject.ReferenceName)) } else { // for simplicities sake - typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil, nil) + typeName, err := helpers.GolangTypeForSDKObjectDefinition(*operation.RequestObject, nil, nil) if err != nil { return nil, fmt.Errorf("determining golang type name for request object: %+v", err) } diff --git a/tools/generator-terraform/internal/generator/mappings/assignment_direct.go b/tools/generator-terraform/internal/generator/mappings/assignment_direct.go index 4e7179967f1..9c95e18dcc0 100644 --- a/tools/generator-terraform/internal/generator/mappings/assignment_direct.go +++ b/tools/generator-terraform/internal/generator/mappings/assignment_direct.go @@ -248,7 +248,7 @@ output.%[1]s = &%[4]s return nil, fmt.Errorf("expected a DirectAssignment between %q and %q but got %q", string(schemaField.ObjectDefinition.NestedObject.Type), string(v), string(sdkField.ObjectDefinition.NestedItem.Type)) } - variableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) + variableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type for Sdk Model %q / Field %q Object Definition: %+v", mapping.DirectAssignment.SDKModelName, mapping.DirectAssignment.SDKFieldName, err) } @@ -293,12 +293,12 @@ output.%[1]s = &%[3]s } func (d directAssignmentLine) schemaToSdkMappingBetweenListOfReferenceFields(mapping models.TerraformDirectAssignmentFieldMappingDefinition, schemaField models.TerraformSchemaField, sdkField models.SDKField, apiResourcePackageName string) (*string, error) { - listVariableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) + listVariableType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type for Sdk Model %q / Field %q Object Definition: %+v", mapping.DirectAssignment.SDKModelName, mapping.DirectAssignment.SDKFieldName, err) } - listItemVariableReferenceType, err := helpers.GolangTypeForSDKObjectDefinition(*sdkField.ObjectDefinition.NestedItem, &apiResourcePackageName, nil, nil) + listItemVariableReferenceType, err := helpers.GolangTypeForSDKObjectDefinition(*sdkField.ObjectDefinition.NestedItem, &apiResourcePackageName, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type for Sdk Model %q / Field %q Nested Object Definition: %+v", mapping.DirectAssignment.SDKModelName, mapping.DirectAssignment.SDKFieldName, err) } diff --git a/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go b/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go index ddbd7096e21..46afe4d6d09 100644 --- a/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go +++ b/tools/generator-terraform/internal/generator/mappings/assignment_model_to_model.go @@ -29,7 +29,7 @@ func (m modelToModelAssignmentLine) assignmentForCreateUpdateMapping(mapping mod return nil, fmt.Errorf("a ModelToModel mapping must be a Reference but got %q", string(sdkField.ObjectDefinition.Type)) } outputModelName := *sdkField.ObjectDefinition.ReferenceName - sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) + sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type Name for SDK Field: %+v", err) } @@ -68,7 +68,7 @@ func (m modelToModelAssignmentLine) assignmentForReadMapping(mapping models.Terr } outputModelName := *sdkField.ObjectDefinition.ReferenceName - sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil, nil) + sdkFieldType, err := helpers.GolangTypeForSDKObjectDefinition(sdkField.ObjectDefinition, &apiResourcePackageName, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type Name for SDK Field: %+v", err) } diff --git a/tools/generator-terraform/internal/generator/resource/component_create_func.go b/tools/generator-terraform/internal/generator/resource/component_create_func.go index 20f2ecdec58..d3746eaf368 100644 --- a/tools/generator-terraform/internal/generator/resource/component_create_func.go +++ b/tools/generator-terraform/internal/generator/resource/component_create_func.go @@ -199,7 +199,7 @@ id := %[3]s(%[4]s) func (h createFunctionComponents) payloadDefinition() (*string, error) { // NOTE: whilst Payload is _technically_ optional in the API endpoint it's not, else it // wouldn't be a Create method - createObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.createMethod.RequestObject, &h.sdkResourceNameLowered, nil, nil) + createObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.createMethod.RequestObject, &h.sdkResourceNameLowered, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type name for Create Request Object: %+v", err) } diff --git a/tools/generator-terraform/internal/generator/resource/component_update_func.go b/tools/generator-terraform/internal/generator/resource/component_update_func.go index 6c27c497d55..e4ae804da84 100644 --- a/tools/generator-terraform/internal/generator/resource/component_update_func.go +++ b/tools/generator-terraform/internal/generator/resource/component_update_func.go @@ -130,7 +130,7 @@ func (h updateFuncHelpers) modelDecode() (*string, error) { } func (h updateFuncHelpers) payloadDefinition() (*string, error) { - updateObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.updateMethod.RequestObject, &h.sdkResourceNameLowered, nil, nil) + updateObjectName, err := helpers.GolangTypeForSDKObjectDefinition(*h.updateMethod.RequestObject, &h.sdkResourceNameLowered, nil) if err != nil { return nil, fmt.Errorf("determining Golang Type name for Update Request Object: %+v", err) } From 4d0069932471dddbf7248d29c64842ce1e03544f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 02:07:35 +0100 Subject: [PATCH 007/134] data-api-sdk: oops, resource manager is not data plan (and vice versa) --- tools/data-api-sdk/v1/models/source_data_types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/data-api-sdk/v1/models/source_data_types.go b/tools/data-api-sdk/v1/models/source_data_types.go index fc2e71a2b8d..41aa3061e5b 100644 --- a/tools/data-api-sdk/v1/models/source_data_types.go +++ b/tools/data-api-sdk/v1/models/source_data_types.go @@ -15,5 +15,5 @@ const ( ) func SourceDataTypeIsDataPlane(sourceDataType SourceDataType) bool { - return sourceDataType == ResourceManagerSourceDataType + return sourceDataType != ResourceManagerSourceDataType } From d49c26f7881902416ca1b5cab562bc59db7ebc24 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 02:16:40 +0100 Subject: [PATCH 008/134] importer-msgraph-metadata: prefix constant key names with underscore, to prevent naming conflicts with annoyingly named models --- .../internal/pipeline/translate_models.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go index 2bdb5f614a9..696baa53c25 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go @@ -4,6 +4,8 @@ package pipeline import ( + "fmt" + sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" @@ -25,7 +27,8 @@ func translateModelsToDataApiSdkTypes(models parser.Models, constants parser.Con for constantName, constant := range constants { constantValues := make(map[string]string) for _, value := range constant.Enum { - constantValues[normalize.CleanName(value)] = value + // prefix constant value names with underscore to prevent naming conflicts with similarly named models in the generated SDK + constantValues[fmt.Sprintf("_%s", normalize.CleanName(value))] = value } // TODO support additional types, if there are any From 48e45999374ee97fbf24431254c60364bd5f6b26 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 02:56:40 +0100 Subject: [PATCH 009/134] importer-msgraph-metadata: blacklist some resources --- .../components/blacklisted/blacklist.go | 24 +++++++++++++++++++ .../pipeline/task_translate_service.go | 6 +++++ 2 files changed, 30 insertions(+) create mode 100644 tools/importer-msgraph-metadata/components/blacklisted/blacklist.go diff --git a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go new file mode 100644 index 00000000000..6269a58abf4 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go @@ -0,0 +1,24 @@ +package blacklisted + +import ( + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "strings" +) + +func Resource(resource *parser.Resource) bool { + if resource.Service == "Groups" { + + // GroupSiteTermStore resources have repeating ID segments which are not supported at this time + if strings.Contains(resource.Name, "TermStore") { + return true + } + + // Onenote resources have repeating ID segments which are not supported at this time + if strings.Contains(resource.Name, "Onenote") { + return true + } + + } + + return false +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index 785fc24c2be..a7b8c623ea2 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -5,7 +5,9 @@ package pipeline import ( "fmt" + sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/blacklisted" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" @@ -15,6 +17,10 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta sdkServices := make(map[string]sdkModels.Service) for _, resource := range resources { + if blacklisted.Resource(resource) { + continue + } + // First scaffold all discovered services, version(s) and resources (categories) if _, ok := sdkServices[resource.Service]; !ok { sdkServices[resource.Service] = sdkModels.Service{ From f1dfce0ab1d943d98036b2a480c0ccc6dab61e83 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 02:57:12 +0100 Subject: [PATCH 010/134] importer-msgraph-metadata: fix openapi file pattern for list-tags command --- .../internal/supported-services/supported_services.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/internal/supported-services/supported_services.go b/tools/importer-msgraph-metadata/internal/supported-services/supported_services.go index ab65978bb0a..b80b513c2ee 100644 --- a/tools/importer-msgraph-metadata/internal/supported-services/supported_services.go +++ b/tools/importer-msgraph-metadata/internal/supported-services/supported_services.go @@ -26,7 +26,7 @@ type SupportedServicesInput struct { func OutputSupportedServices(input SupportedServicesInput) error { for _, apiVersion := range versions.Supported { - openApiFile := fmt.Sprintf(input.OpenApiFilePattern, apiVersion) + openApiFile := fmt.Sprintf(input.OpenApiFilePattern, versions.Upstream(apiVersion)) spec, err := openapi3.NewLoader().LoadFromFile(filepath.Join(input.MetadataDirectory, openApiFile)) if err != nil { From 589ea903b28cbfb89745047dd6b90281025da5f0 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 03:03:24 +0100 Subject: [PATCH 011/134] generator-go-sdk: try to appease apparent golang race condition with creating lots of files in a directory --- .../internal/generator/service.go | 17 +++++++++++++++-- .../internal/generator/templater.go | 4 +++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/service.go b/tools/generator-go-sdk/internal/generator/service.go index feb3c5766d5..59aab046bdf 100644 --- a/tools/generator-go-sdk/internal/generator/service.go +++ b/tools/generator-go-sdk/internal/generator/service.go @@ -7,6 +7,7 @@ import ( "fmt" "os" "os/exec" + "path/filepath" "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/generator-go-sdk/internal/logging" @@ -121,12 +122,24 @@ func runGoImports(path string) { } func cleanAndRecreateWorkingDirectory(path string) error { - os.RemoveAll(path) - // TODO: make these less exciting + // first, ensure the directory exists if err := os.MkdirAll(path, 0777); err != nil { return fmt.Errorf("creating %q: %+v", path, err) } + // determine contents of output directory + pathsToDelete, err := filepath.Glob(filepath.Join(path, "*")) + if err != nil { + return fmt.Errorf("globbing files to delete: %+v", err) + } + + // delete any contained files and directories + for _, pathToDelete := range pathsToDelete { + if err = os.RemoveAll(pathToDelete); err != nil { + return fmt.Errorf("deleting %q: %w", pathToDelete, err) + } + } + return nil } diff --git a/tools/generator-go-sdk/internal/generator/templater.go b/tools/generator-go-sdk/internal/generator/templater.go index fc926f29969..3f1459afbd9 100644 --- a/tools/generator-go-sdk/internal/generator/templater.go +++ b/tools/generator-go-sdk/internal/generator/templater.go @@ -29,7 +29,9 @@ func (s *ServiceGenerator) writeToPathForResource(directory, filePath string, te // remove any existing file if it exists _ = os.Remove(fullFilePath) - file, err := os.Create(fullFilePath) + + // call os.OpenFile instead of os.Create to reduce spurious "file not found" errors when O_TRUNC is used + file, err := os.OpenFile(fullFilePath, os.O_WRONLY|os.O_CREATE, 0666) defer file.Close() if err != nil { return fmt.Errorf("opening %q: %+v", fullFilePath, err) From 98d0e96bbd12c05a3c8a47209ad1527c0f616428 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 03:04:45 +0100 Subject: [PATCH 012/134] generator-go-sdk: fix up remaining package references for common models in operations and predicates --- .../generator-go-sdk/internal/generator/data.go | 2 +- .../internal/generator/stage_predicates.go | 13 +++++++++++-- .../internal/generator/templater_constants.go | 6 +++++- .../internal/generator/templater_predicates.go | 16 ++++++++++++---- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index 5c0c9dd1fce..e937f6bfc0a 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -64,7 +64,7 @@ type GeneratorData struct { // sourceType is the source data type and is the SDK package name sourceType models.SourceDataType - // whether this is a data plane SDK (omits certain Resource Manager specific features) + // whether this is a data plane SDK (omits certain Resource Manager specific features, currently used in ID parsers) isDataPlane bool // development feature flag - this requires work in the Resource ID parser to handle name conflicts diff --git a/tools/generator-go-sdk/internal/generator/stage_predicates.go b/tools/generator-go-sdk/internal/generator/stage_predicates.go index d2d6bf03f12..5db4c06d28a 100644 --- a/tools/generator-go-sdk/internal/generator/stage_predicates.go +++ b/tools/generator-go-sdk/internal/generator/stage_predicates.go @@ -9,7 +9,7 @@ import ( ) func (s *ServiceGenerator) predicates(data GeneratorData) error { - modelNames := make(map[string]struct{}, 0) + modelNames := make(map[string]string) for _, operation := range data.operations { if operation.FieldContainingPaginationDetails == nil { continue @@ -23,7 +23,15 @@ func (s *ServiceGenerator) predicates(data GeneratorData) error { continue } - modelNames[*operation.ResponseObject.ReferenceName] = struct{}{} + modelNameWithPackage := *operation.ResponseObject.ReferenceName + if operation.ResponseObject.ReferenceNameIsCommonType != nil && *operation.ResponseObject.ReferenceNameIsCommonType { + if data.commonTypesPackageName == nil { + return fmt.Errorf("building predicate models: encountered a common model %q but `commonTypesPackageName` was nil", *operation.ResponseObject.ReferenceName) + } + modelNameWithPackage = fmt.Sprintf("%s.%s", *data.commonTypesPackageName, modelNameWithPackage) + } + + modelNames[*operation.ResponseObject.ReferenceName] = modelNameWithPackage } sortedModelNames := make([]string, 0) @@ -37,6 +45,7 @@ func (s *ServiceGenerator) predicates(data GeneratorData) error { } templater := predicateTemplater{ + modelNames: modelNames, sortedModelNames: sortedModelNames, models: data.models, } diff --git a/tools/generator-go-sdk/internal/generator/templater_constants.go b/tools/generator-go-sdk/internal/generator/templater_constants.go index a1917c1e93e..bb212b8a582 100644 --- a/tools/generator-go-sdk/internal/generator/templater_constants.go +++ b/tools/generator-go-sdk/internal/generator/templater_constants.go @@ -54,7 +54,11 @@ func (c constantsTemplater) template(data GeneratorData) (*string, error) { template := fmt.Sprintf(`package %[1]s -import "strings" +import ( + "encoding/json" + "fmt" + "strings" +) %[3]s diff --git a/tools/generator-go-sdk/internal/generator/templater_predicates.go b/tools/generator-go-sdk/internal/generator/templater_predicates.go index 8e2a71e2494..4e6a161cc36 100644 --- a/tools/generator-go-sdk/internal/generator/templater_predicates.go +++ b/tools/generator-go-sdk/internal/generator/templater_predicates.go @@ -12,6 +12,7 @@ import ( // TODO: add unit tests covering this type predicateTemplater struct { + modelNames map[string]string sortedModelNames []string models map[string]models.SDKModel } @@ -19,13 +20,14 @@ type predicateTemplater struct { func (p predicateTemplater) template(data GeneratorData) (*string, error) { output := make([]string, 0) for _, modelName := range p.sortedModelNames { + modelNameWithPackage := p.modelNames[modelName] model := data.models[modelName] predicateStructName := fmt.Sprintf("%sOperationPredicate", modelName) if _, hasExisting := data.models[predicateStructName]; hasExisting { return nil, fmt.Errorf("existing model %q conflicts with predicate model for %q", predicateStructName, modelName) } - templated, err := p.templateForModel(predicateStructName, modelName, model) + templated, err := p.templateForModel(predicateStructName, modelName, modelNameWithPackage, model) if err != nil { return nil, err } @@ -37,15 +39,21 @@ func (p predicateTemplater) template(data GeneratorData) (*string, error) { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) } + commonTypesInclude := "" + if data.commonTypesIncludePath != nil { + commonTypesInclude = fmt.Sprintf(`import "github.com/hashicorp/go-azure-sdk/%s/%s"`, data.sourceType, *data.commonTypesIncludePath) + } + template := fmt.Sprintf(`package %[1]s %[2]s %[3]s -`, data.packageName, *copyrightLines, strings.Join(output, "\n")) +%[4]s +`, data.packageName, *copyrightLines, commonTypesInclude, strings.Join(output, "\n")) return &template, nil } -func (p predicateTemplater) templateForModel(predicateStructName string, name string, model models.SDKModel) (*string, error) { +func (p predicateTemplater) templateForModel(predicateStructName string, name, nameWithPackage string, model models.SDKModel) (*string, error) { fieldNames := make([]string, 0) // unsupported at this time - see https://github.com/hashicorp/pandora/issues/164 @@ -128,6 +136,6 @@ func (p %[1]s) Matches(input %[2]s) bool { return true } -`, predicateStructName, name, strings.Join(structLines, "\n"), strings.Join(matchLines, "\n")) +`, predicateStructName, nameWithPackage, strings.Join(structLines, "\n"), strings.Join(matchLines, "\n")) return &template, nil } From cfaff1421c571efdbcc26758b5aa20b99e5fafe7 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 03:05:52 +0100 Subject: [PATCH 013/134] msgraph: import more services, attain feature parity (and much more) with hamilton --- config/microsoft-graph.hcl | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/config/microsoft-graph.hcl b/config/microsoft-graph.hcl index d38cd735dcb..29ddecbc534 100644 --- a/config/microsoft-graph.hcl +++ b/config/microsoft-graph.hcl @@ -21,6 +21,16 @@ service "applicationTemplates" { available = ["stable", "beta"] } +service "auditLogs" { + name = "AuditLogs" + available = ["stable", "beta"] +} + +service "deviceManagement" { + name = "DeviceManagement" + available = ["stable", "beta"] +} + service "directory" { name = "Directory" available = ["stable", "beta"] @@ -46,6 +56,11 @@ service "identity" { available = ["stable"] } +service "identityGovernance" { + name = "IdentityGovernance" + available = ["stable"] +} + service "invitations" { name = "Invitations" available = ["stable", "beta"] @@ -66,11 +81,21 @@ service "policies" { available = ["stable", "beta"] } +service "reports" { + name = "Reports" + available = ["stable", "beta"] +} + service "roleManagement" { name = "RoleManagement" available = ["stable", "beta"] } +service "schemaExtensions" { + name = "SchemaExtensions" + available = ["stable", "beta"] +} + service "servicePrincipals" { name = "ServicePrincipals" available = ["stable", "beta"] From 755f766e6606040939539388ab8c3a4c10c885b5 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 03:35:40 +0100 Subject: [PATCH 014/134] importer-msgraph-metadata: trim leading word from resource names when it matches the service name --- .../internal/pipeline/task_parse_resources.go | 53 +++++++++++++------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index cbff6c62184..90268ddf3d7 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -300,27 +300,50 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } + // Look for resources without a category, then iterate the known paths of it and all potential parent resources + // to find a match by truncating its path to the preceding label segment. Once a match is found, adopt the + // resource category of the matched parent to ensure they are grouped together. for _, resource := range resources { - // Look for resources without a category, then iterate the known paths of it and all potential parent resources - // to find a match by truncating its path to the preceding label segment. Once a match is found, adopt the - // resource category of the matched parent to ensure they are grouped together. - if pathsLen := len(resource.Paths); resource.Category == "" && pathsLen > 0 { - for _, path := range resource.Paths { - if trimmedPath := path.TruncateToLastSegmentOfTypeBeforeSegment([]parser.ResourceIdSegmentType{parser.SegmentLabel}, -1); trimmedPath != nil { - for _, parentResource := range resources { - if parentResource.Category != "" { - for _, parentPath := range parentResource.Paths { - if parentPath.ID() == trimmedPath.ID() { - resource.Category = parentResource.Category - break - } - } - } + pathsLen := len(resource.Paths) + if resource.Category != "" || pathsLen == 0 { + continue + } + + for _, path := range resource.Paths { + trimmedPath := path.TruncateToLastSegmentOfTypeBeforeSegment([]parser.ResourceIdSegmentType{parser.SegmentLabel}, -1) + if trimmedPath == nil { + continue + } + + for _, parentResource := range resources { + if parentResource.Category == "" { + continue + } + + for _, parentPath := range parentResource.Paths { + if parentPath.ID() == trimmedPath.ID() { + resource.Category = parentResource.Category + break } } } } } + // Loop through resources and trim the leading word if it matches the category _and_ there are more words after it + for _, resource := range resources { + if resource.Service == "" || resource.Category == "" { + continue + } + + serviceSingularized := normalize.Singularize(resource.Service) + if strings.HasPrefix(resource.Category, serviceSingularized) { + trimmedCategory := strings.TrimPrefix(resource.Category, serviceSingularized) + if len(trimmedCategory) > 1 { + resource.Category = trimmedCategory + } + } + } + return } From 43b5f4afe2a69442a850564eaeef7f679231460f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 03:36:08 +0100 Subject: [PATCH 015/134] importer-msgraph-metadata: blacklist OneNote resources in the Users service --- .../components/blacklisted/blacklist.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go index 6269a58abf4..aa0d8943c11 100644 --- a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go +++ b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go @@ -20,5 +20,14 @@ func Resource(resource *parser.Resource) bool { } + if resource.Service == "Users" { + + // Onenote resources have repeating ID segments which are not supported at this time + if strings.Contains(resource.Name, "Onenote") { + return true + } + + } + return false } From 3e96ea0b4c1a8761cbf1f97cc7d508545d8f60dc Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 03:36:58 +0100 Subject: [PATCH 016/134] importer-msgraph-metadata: remove the "ById" resource/operation suffix --- .../importer-msgraph-metadata/components/parser/resourceids.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 63197bfce27..7fc69527f20 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -14,7 +14,7 @@ import ( ) const ( - ResourceSuffix = "ById" + ResourceSuffix = "" ResourceIdSuffix = "Id" ) From 8f528c432a8dab1653301e5c9d95e94394503472 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 03:37:19 +0100 Subject: [PATCH 017/134] importer-msgraph-metadata: bump tool version --- tools/importer-msgraph-metadata/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/main.go b/tools/importer-msgraph-metadata/main.go index 1c919bbf236..ecdc3b884c8 100644 --- a/tools/importer-msgraph-metadata/main.go +++ b/tools/importer-msgraph-metadata/main.go @@ -27,7 +27,7 @@ func main() { } logging.Log = hclog.New(loggingOpts) - c := cli.NewCLI("importer-msgraph-metadata", "0.2.1") + c := cli.NewCLI("importer-msgraph-metadata", "0.2.2") c.Args = os.Args[1:] c.Commands = map[string]cli.CommandFactory{ "import": cmd.NewImportCommand(metadataDirectory, microsoftGraphConfig, openApiFilePattern, outputDirectory), From 85c3badb23e09a0350fa9cdb11e3dc19cfb75480 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 04:22:56 +0100 Subject: [PATCH 018/134] importer-msgraph-metadata: trim leading word from operation names when it matches the service name --- .../internal/pipeline/task_parse_resources.go | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index 90268ddf3d7..3844f9bbbbd 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -207,36 +207,41 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model prefixToTrim := normalize.Singularize(normalize.CleanName(p.service)) if resourceId != nil && uriSuffix == nil { - prefixToTrim = fmt.Sprintf("%sById", prefixToTrim) + prefixToTrim = fmt.Sprintf("%s%s", prefixToTrim, parser.ResourceSuffix) } shortResourceName := strings.TrimPrefix(resourceName, prefixToTrim) + operationName = shortResourceName + if len(operationName) == 0 { + operationName = resourceName + } + switch operationType { case parser.OperationTypeList: if _, ok = normalize.Verbs.Match(shortResourceName); ok { - operationName = normalize.Pluralize(normalize.Singularize(resourceName)) + operationName = normalize.Pluralize(normalize.Singularize(operationName)) } else { - operationName = fmt.Sprintf("List%s", normalize.Pluralize(normalize.Singularize(resourceName))) + operationName = fmt.Sprintf("List%s", normalize.Pluralize(normalize.Singularize(operationName))) } case parser.OperationTypeRead: - operationName = fmt.Sprintf("Get%s", normalize.Singularize(resourceName)) + operationName = fmt.Sprintf("Get%s", normalize.Singularize(operationName)) case parser.OperationTypeCreate: if _, ok = normalize.Verbs.Match(shortResourceName); ok { - operationName = normalize.Singularize(resourceName) + operationName = normalize.Singularize(operationName) } else if lastSegment.Type == parser.SegmentODataReference { - operationName = fmt.Sprintf("Add%s", normalize.Singularize(resourceName)) + operationName = fmt.Sprintf("Add%s", normalize.Singularize(operationName)) } else { - operationName = fmt.Sprintf("Create%s", normalize.Singularize(resourceName)) + operationName = fmt.Sprintf("Create%s", normalize.Singularize(operationName)) } case parser.OperationTypeCreateUpdate: - operationName = fmt.Sprintf("CreateUpdate%s", normalize.Singularize(resourceName)) + operationName = fmt.Sprintf("CreateUpdate%s", normalize.Singularize(operationName)) case parser.OperationTypeUpdate: - operationName = fmt.Sprintf("Update%s", normalize.Singularize(resourceName)) + operationName = fmt.Sprintf("Update%s", normalize.Singularize(operationName)) case parser.OperationTypeDelete: if lastSegment.Type == parser.SegmentODataReference { - operationName = fmt.Sprintf("Remove%s", normalize.Singularize(resourceName)) + operationName = fmt.Sprintf("Remove%s", normalize.Singularize(operationName)) } else { - operationName = fmt.Sprintf("Delete%s", normalize.Singularize(resourceName)) + operationName = fmt.Sprintf("Delete%s", normalize.Singularize(operationName)) } } From 449383dae01f6852ee05232701f62b0feb226780 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 13:24:53 +0100 Subject: [PATCH 019/134] importer-msgraph-metadata: blacklist more services due to inscrutable/unsupported naming --- .../components/blacklisted/blacklist.go | 45 ++++++++++++++++++- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go index aa0d8943c11..74b783b2621 100644 --- a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go +++ b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go @@ -1,13 +1,20 @@ package blacklisted import ( - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "fmt" "strings" + + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" ) func Resource(resource *parser.Resource) bool { if resource.Service == "Groups" { + // Repeating ID segments which are not supported + if resource.Name == "SiteSite" { + return true + } + // GroupSiteTermStore resources have repeating ID segments which are not supported at this time if strings.Contains(resource.Name, "TermStore") { return true @@ -20,13 +27,47 @@ func Resource(resource *parser.Resource) bool { } - if resource.Service == "Users" { + if resource.Service == "IdentityGovernance" { + + // Repeating ID segments which are not supported at this time + prefixes := []string{ + "EntitlementManagementAccessPackageResourceRoleScopeRoleResourceScopeResourceRole", + "EntitlementManagementAccessPackageResourceRoleScopeScopeResourceRoleResourceScope", + "EntitlementManagementCatalogResourceRoleResourceScopeResourceRole", + "EntitlementManagementCatalogResourceScopeResourceRoleResourceScope", + "EntitlementManagementResourceRequestCatalogResourceRoleResourceScopeResource", + "EntitlementManagementResourceRequestCatalogResourceScopeResourceRoleResourceScope", + "EntitlementManagementResourceRequestResourceRoleResourceScope", + "EntitlementManagementResourceRequestResourceScopeResourceRole", + "EntitlementManagementResourceRoleScopeRoleResourceScopeResourceRole", + "EntitlementManagementResourceRoleScopeScopeResourceRoleResourceScope", + } + for _, prefix := range prefixes { + if strings.HasPrefix(resource.Name, prefix) || strings.HasPrefix(resource.Name, fmt.Sprintf("%s%s", resource.Service, prefix)) { + return true + } + } + + } + + if resource.Service == "Me" || resource.Service == "Users" { // Onenote resources have repeating ID segments which are not supported at this time if strings.Contains(resource.Name, "Onenote") { return true } + // Repeating ID segments which are not supported at this time + prefixes := []string{ + "PendingAccessReviewInstanceDecisionInstanceStageDecision", + "PendingAccessReviewInstanceStageDecisionInstanceDecision", + } + for _, prefix := range prefixes { + if strings.HasPrefix(resource.Name, prefix) || strings.HasPrefix(resource.Name, fmt.Sprintf("%s%s", resource.Service, prefix)) { + return true + } + } + } return false From d174e891855337d27e6155bbd7beabe2492af677 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 15:16:22 +0100 Subject: [PATCH 020/134] importer-msgraph-metadata: fix blacklist to compare the category rather than the resource name --- .../components/blacklisted/blacklist.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go index 74b783b2621..672de85a53d 100644 --- a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go +++ b/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go @@ -10,18 +10,18 @@ import ( func Resource(resource *parser.Resource) bool { if resource.Service == "Groups" { - // Repeating ID segments which are not supported - if resource.Name == "SiteSite" { + // Has IDs with repeating segments, which are not supported + if resource.Category == "SiteSite" { return true } // GroupSiteTermStore resources have repeating ID segments which are not supported at this time - if strings.Contains(resource.Name, "TermStore") { + if strings.Contains(resource.Category, "TermStore") { return true } // Onenote resources have repeating ID segments which are not supported at this time - if strings.Contains(resource.Name, "Onenote") { + if strings.Contains(resource.Category, "Onenote") { return true } @@ -29,7 +29,7 @@ func Resource(resource *parser.Resource) bool { if resource.Service == "IdentityGovernance" { - // Repeating ID segments which are not supported at this time + // These contain IDs with repeating segments, which are not supported at this time prefixes := []string{ "EntitlementManagementAccessPackageResourceRoleScopeRoleResourceScopeResourceRole", "EntitlementManagementAccessPackageResourceRoleScopeScopeResourceRoleResourceScope", @@ -43,7 +43,7 @@ func Resource(resource *parser.Resource) bool { "EntitlementManagementResourceRoleScopeScopeResourceRoleResourceScope", } for _, prefix := range prefixes { - if strings.HasPrefix(resource.Name, prefix) || strings.HasPrefix(resource.Name, fmt.Sprintf("%s%s", resource.Service, prefix)) { + if strings.HasPrefix(resource.Category, prefix) || strings.HasPrefix(resource.Category, fmt.Sprintf("%s%s", resource.Service, prefix)) { return true } } @@ -53,17 +53,17 @@ func Resource(resource *parser.Resource) bool { if resource.Service == "Me" || resource.Service == "Users" { // Onenote resources have repeating ID segments which are not supported at this time - if strings.Contains(resource.Name, "Onenote") { + if strings.Contains(resource.Category, "Onenote") { return true } - // Repeating ID segments which are not supported at this time + // These contain IDs with repeating segments, which are not supported at this time prefixes := []string{ "PendingAccessReviewInstanceDecisionInstanceStageDecision", "PendingAccessReviewInstanceStageDecisionInstanceDecision", } for _, prefix := range prefixes { - if strings.HasPrefix(resource.Name, prefix) || strings.HasPrefix(resource.Name, fmt.Sprintf("%s%s", resource.Service, prefix)) { + if strings.HasPrefix(resource.Category, prefix) || strings.HasPrefix(resource.Category, fmt.Sprintf("%s%s", resource.Service, prefix)) { return true } } From e1472e98bb2d6d816176d04148a6ff4c7a5f0425 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 15:18:28 +0100 Subject: [PATCH 021/134] importer-msgraph-metadata: write initial documentation --- tools/importer-msgraph-metadata/README.md | 67 +++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 tools/importer-msgraph-metadata/README.md diff --git a/tools/importer-msgraph-metadata/README.md b/tools/importer-msgraph-metadata/README.md new file mode 100644 index 00000000000..374f7b19ffb --- /dev/null +++ b/tools/importer-msgraph-metadata/README.md @@ -0,0 +1,67 @@ +# Microsoft Graph API Specs Importer + +The Microsoft Graph API specs are in OpenAPI3 format. The data we parse is automatically generated from the original API Metadata which are in OData XML format. This translation to OpenAPI3 format is performed by a [.NET tool](https://github.com/microsoft/OpenAPI.NET.OData) published by Microsoft. + +You can read more about Microsoft Graph Metadata at https://learn.microsoft.com/en-us/graph/traverse-the-graph + +The metadata can be downloaded directly from the service at one of the following URLs: +- https://graph.microsoft.com/v1.0/$metadata +- https://graph.microsoft.com/beta/$metadata + +Both the metadata and OpenAPI3 specs are published on GitHub at [microsoftgraph/msgraph-metadata](https://github.com/microsoftgraph/msgraph-metadata); this is where we currently source this data as it's versioned and fits in with our git submodule approach. + +## API Versions + +MS Graph has two distinct API versions, which are the same across all services. These are `v1.0` and `beta`. You may also sometimes see references to a `v2.0` API, this appears to be internal and/or never released to the public, but it does leak through in some API responses. + +Each API version comprises many services, which are exposed via a unified frontend and can be found at various URL subtrees. All the services for each API version are described in a single metadata / OpenAPI3 file per version. + +When importing from these API versions, we normalize them to `stable` and `beta` as this makes for easier handling when the Go SDK is built. + +New features and services are _supposed_ to go into the `beta` API, with a period of public preview, before being added to the `v1.0` API. The latter is not supposed to receive breaking changes, however in practice this is clearly impossible and so it regularly receives breaking changes. + +Additionally, whilst Microsoft disclaims use of the `beta` API in production and recommends all customers use the `v1.0` API, there are lots of services that have yet to make it out of beta/preview, and the Portal uses the beta API literally everywhere. + +## Adding New Services + +To assist when adding new services, the importer has a `list-tags` subcommand which is intended to be run locally and which outputs a list of tags and subtags for each API version. Whilst subtags are not supported by the importer, this lets you see at a glance which tags are available and these are translated directly into Services. + +The importer reads from the `config/microsoft-graph.hcl` configuration file (from the root of the Pandora repository). Similarly to Resource Manager, this is where to configure services/tags for importing. Some tags are only supported in one API version, and others have different features in each API version. + +## The Importer + +We use the `github.com/getkin/kin-openapi` module to read the OpenAPI3 specs, and implement our own parser in the `components/parser` package. This shares many of the same paradigms as the `importer-rest-api-specs` tool, but adjusted for the different OpenAPI specification and the way in which OData objects are expressed in the translated spec. + +This tool has its own internal types for representing things like Services, Resources, Resource IDs, Models etc, these are all defined in the `components/parser` package. The core parsing logic of populating these types happens within that package, whilst the "business logic" of determining what to import and how to import it happens in the `internal/pipeline` package. + +One notable feature of Microsoft Graph compared to Resource Manager is that data types (models) are shared across the entire API. For example, the `users` service would make use of `directoryObject`, `group`, `servicePrincipal` and other models. Furthermore, internally within MS Graph most objects have some inheritance, forming a tree of models with behavior much like class inheritance. We intentionally don't express this when importing, and have elected to flatten all ancestor fields in a family tree. + +This global namespace of models leads to some excessive duplication if we define those models on a per-resource or per-service basis, so we consolidate them into a single namespace we refer to as "common types". In the generated SDK, this is output as separate packages called `common-types/stable` and `common-types/beta`, doing so greatly reduces the SDK footprint by an order of magnitude. + +### How the internal types map to data API types + +After importing and processing the API specs using the internal types in `components/parser`, they are then translated to the Data API native types to be persisted in the Data API. There are some things to be aware of in this translation: + +* The internal types for Resources have a `Category` and a `Name` - the `Category` maps to the resource name in the data API and the `Name` is used to build operation names. The reason for this approach is that each "resource" in the data API contains multiple Graph resources and/or representations of resources, so the importer organises these internally as "categories" to facilitate grouping of resources prior to translation. +* All models and constants described in the API spec are considered to be "common types", the only models which are local to a resource are those that represent complex request objects. +* Resource IDs are all considered to be resource-local - even though they are intentionally fully-namespaced and are all parsed out together prior to parsing out the resources, so they could in theory _could_ be pooled together as "common resource IDs". However, this would require refactoring of the SDK generator, and at this time (unlike with models), there is no significant overhead to duplicating these. + +## About OData + +[OData](https://www.odata.org/) is a data representation & navigation specification published by Microsoft and Oracle with low industry adoption. It is largely built for .NET and this is the only widely used language with proper support for it. Golang has no library support that we've found which is why we have [built this ourselves](https://github.com/hashicorp/go-azure-sdk/tree/main/sdk/odata) (whilst trying to keep it simple and generic). + +Whilst Resource Manager makes use of some OData primitives, it has been embraced in Microsoft Graph and is the primary means of navigating the API and expressing relationships between resource/objects. + +However, it is worth pointing out that MS Graph has made notably noncompliant revisions to their OData implementation. Particularly around the use of OData IDs which are _supposed_ to be fully qualified URIs, for example: + +``` +https://graph.microsoft.com/v1.0/directoryObjects/00000000-0000-0000-0000-000000000000 +``` + +However, these are increasingly received as part of API responses in other formats, like: + +``` +directoryObjects('00000000-0000-0000-0000-000000000000') +``` + +The base layer SDK nor the dataplane SDKs generated by Pandora are currently able to parse these or infer the related URLs, it is up to the implementor (e.g. Terraform providers) to do so. From 5f0d52641eb137671b094d1b8c5b3aa0795be906 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 16:59:15 +0100 Subject: [PATCH 022/134] generator-go-sdk: set the correct package for the base client --- .../internal/generator/data.go | 5 ++++ .../internal/generator/helpers.go | 10 +++++++ .../internal/generator/stage_meta_client.go | 11 +++---- .../internal/generator/templater_clients.go | 10 ++++--- .../generator/templater_meta_client.go | 30 +++++++++++-------- .../internal/generator/templater_methods.go | 25 ++++++++-------- 6 files changed, 57 insertions(+), 34 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index e937f6bfc0a..9dc47fe8c06 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -16,6 +16,9 @@ type GeneratorData struct { // the name of the package which should be used packageName string + // baseClientPackage is the name of the base client package to use for this SDK + baseClientPackage string + // commonTypes contains any common models and constants for this API version commonTypes models.CommonTypes @@ -95,6 +98,7 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { return GeneratorData{ apiVersion: i.VersionName, + baseClientPackage: baseClientPackageForSdk(i.Type), commonTypes: i.CommonTypes, commonTypesIncludePath: commonTypesIncludePath, commonTypesPackageName: commonTypesPackageName, @@ -145,6 +149,7 @@ func (i VersionGeneratorInput) generatorData(settings Settings) VersionGenerator return VersionGeneratorData{ GeneratorData: GeneratorData{ apiVersion: i.VersionName, + baseClientPackage: baseClientPackageForSdk(i.Type), commonTypes: i.CommonTypes, constants: i.CommonTypes.Constants, isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), diff --git a/tools/generator-go-sdk/internal/generator/helpers.go b/tools/generator-go-sdk/internal/generator/helpers.go index 172d086d8b8..6841b458219 100644 --- a/tools/generator-go-sdk/internal/generator/helpers.go +++ b/tools/generator-go-sdk/internal/generator/helpers.go @@ -30,6 +30,16 @@ func alternateCasingOnEveryLetter(input string) string { return output } +func baseClientPackageForSdk(input models.SourceDataType) string { + switch input { + case models.MicrosoftGraphSourceDataType: + return "msgraph" + case models.ResourceManagerSourceDataType: + return "resourcemanager" + } + return "client" +} + func capitalizeFirstLetter(input string) string { return strings.ToUpper(input[0:1]) + strings.ToLower(input[1:]) } diff --git a/tools/generator-go-sdk/internal/generator/stage_meta_client.go b/tools/generator-go-sdk/internal/generator/stage_meta_client.go index 68b34079ac4..1736d418978 100644 --- a/tools/generator-go-sdk/internal/generator/stage_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/stage_meta_client.go @@ -15,11 +15,12 @@ func (s *ServiceGenerator) metaClient(data VersionGeneratorData) error { var templater templaterForVersion if data.useNewBaseLayer { templater = metaClientTemplater{ - serviceName: data.servicePackageName, - apiVersion: data.versionPackageName, - resources: data.resources, - source: data.source, - sourceType: data.sourceType, + serviceName: data.servicePackageName, + apiVersion: data.versionPackageName, + baseClientPackage: data.baseClientPackage, + resources: data.resources, + source: data.source, + sourceType: data.sourceType, } } else { templater = metaClientAutorestTemplater{ diff --git a/tools/generator-go-sdk/internal/generator/templater_clients.go b/tools/generator-go-sdk/internal/generator/templater_clients.go index 5e01b90287d..85d8dbac1cf 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients.go @@ -16,18 +16,20 @@ func (c clientsTemplater) template(data GeneratorData) (*string, error) { template := fmt.Sprintf(`package %[1]s import ( + "github.com/hashicorp/go-azure-sdk/sdk/client" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments" ) -%[3]s +%[4]s type %[2]s struct { - Client *resourcemanager.Client + Client *%[3]s.Client } func New%[2]sWithBaseURI(sdkApi sdkEnv.Api) (*%[2]s, error) { - client, err := resourcemanager.NewResourceManagerClient(sdkApi, %[1]q, defaultApiVersion) + client, err := %[3]s.NewResourceManagerClient(sdkApi, %[1]q, defaultApiVersion) if err != nil { return nil, fmt.Errorf("instantiating %[2]s: %%+v", err) } @@ -35,6 +37,6 @@ func New%[2]sWithBaseURI(sdkApi sdkEnv.Api) (*%[2]s, error) { return &%[2]s{ Client: client, }, nil -}`, data.packageName, data.serviceClientName, *copyrightLines) +}`, data.packageName, data.serviceClientName, data.baseClientPackage, *copyrightLines) return &template, nil } diff --git a/tools/generator-go-sdk/internal/generator/templater_meta_client.go b/tools/generator-go-sdk/internal/generator/templater_meta_client.go index 1fa156c3b33..cb3d5d92156 100644 --- a/tools/generator-go-sdk/internal/generator/templater_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/templater_meta_client.go @@ -9,11 +9,12 @@ import ( ) type metaClientTemplater struct { - serviceName string - apiVersion string - resources map[string]models.APIResource - source models.SourceDataOrigin - sourceType models.SourceDataType + serviceName string + apiVersion string + baseClientPackage string + resources map[string]models.APIResource + source models.SourceDataOrigin + sourceType models.SourceDataType } func (m metaClientTemplater) template() (*string, error) { @@ -52,29 +53,32 @@ configureFunc(%[1]s.Client) sort.Strings(fields) sort.Strings(imports) - packageName := fmt.Sprintf("v%s", strings.ReplaceAll(m.apiVersion, "-", "_")) + packageName := m.apiVersion + if strings.Contains(packageName, "-") { + packageName = fmt.Sprintf("v%s", strings.ReplaceAll(m.apiVersion, "-", "_")) + } out := fmt.Sprintf(`package %[1]s -%[2]s +%[3]s import ( "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments" - %[3]s + %[4]s ) type Client struct { - %[4]s + %[5]s } -func NewClientWithBaseURI(sdkApi sdkEnv.Api, configureFunc func(c *resourcemanager.Client)) (*Client, error) { - %[5]s +func NewClientWithBaseURI(sdkApi sdkEnv.Api, configureFunc func(c *%[2]s.Client)) (*Client, error) { + %[6]s return &Client{ - %[6]s + %[7]s }, nil } -`, packageName, *copyrightLines, strings.Join(imports, "\n"), strings.Join(fields, "\n"), strings.Join(clientInitialization, "\n"), strings.Join(assignments, "\n")) +`, packageName, m.baseClientPackage, *copyrightLines, strings.Join(imports, "\n"), strings.Join(fields, "\n"), strings.Join(clientInitialization, "\n"), strings.Join(assignments, "\n")) return &out, nil } diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index c6dce5a0b8f..7edc8316eeb 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -45,6 +45,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/commonids" "github.com/hashicorp/go-azure-sdk/sdk/client" "github.com/hashicorp/go-azure-sdk/sdk/client/pollers" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" "github.com/hashicorp/go-azure-sdk/sdk/odata" %[4]s @@ -226,12 +227,12 @@ func (c methodsPandoraTemplater) longRunningOperationTemplate(data GeneratorData } templated := fmt.Sprintf(` -%[8]s %[9]s %[10]s +%[11]s -// %[2]s ... -func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, err error) { +// %[3]s ... +func (c %[1]s) %[3]s(ctx context.Context %[4]s) (result %[3]sOperationResponse, err error) { opts := %[4]s req, err := c.Client.NewRequest(ctx, opts) @@ -239,7 +240,7 @@ func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, return } - %[5]s + %[6]s var resp *client.Response resp, err = req.Execute(ctx) @@ -251,9 +252,9 @@ func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, return } - %[6]s + %[7]s - result.Poller, err = resourcemanager.PollerFromResponse(resp, c.Client) + result.Poller, err = %[2]s.PollerFromResponse(resp, c.Client) if err != nil { return } @@ -261,20 +262,20 @@ func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, return } -// %[2]sThenPoll performs %[2]s then polls until it's completed -func (c %[1]s) %[2]sThenPoll(ctx context.Context %[3]s) error { - result, err := c.%[2]s(ctx %[7]s) +// %[3]sThenPoll performs %[3]s then polls until it's completed +func (c %[1]s) %[3]sThenPoll(ctx context.Context %[4]s) error { + result, err := c.%[3]s(ctx %[8]s) if err != nil { - return fmt.Errorf("performing %[2]s: %%+v", err) + return fmt.Errorf("performing %[3]s: %%+v", err) } if err := result.Poller.PollUntilDone(ctx); err != nil { - return fmt.Errorf("polling after %[2]s: %%+v", err) + return fmt.Errorf("polling after %[3]s: %%+v", err) } return nil } -`, data.serviceClientName, c.operationName, *methodArguments, *requestOptions, *marshalerCode, *unmarshalerCode, argumentsCode, *responseStruct, *optionsStruct, requestOptionStruct) +`, data.serviceClientName, data.baseClientPackage, c.operationName, *methodArguments, *requestOptions, *marshalerCode, *unmarshalerCode, argumentsCode, *responseStruct, *optionsStruct, requestOptionStruct) return &templated, nil } From 9b4b6659f126c601c55cb502389f8056ae0c7da6 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 30 Jul 2024 17:52:54 +0100 Subject: [PATCH 023/134] generator-go-sdk: reusable constructor for base clients --- tools/generator-go-sdk/internal/generator/templater_clients.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_clients.go b/tools/generator-go-sdk/internal/generator/templater_clients.go index 85d8dbac1cf..f0977f68315 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients.go @@ -29,7 +29,7 @@ type %[2]s struct { } func New%[2]sWithBaseURI(sdkApi sdkEnv.Api) (*%[2]s, error) { - client, err := %[3]s.NewResourceManagerClient(sdkApi, %[1]q, defaultApiVersion) + client, err := %[3]s.NewClient(sdkApi, %[1]q, defaultApiVersion) if err != nil { return nil, fmt.Errorf("instantiating %[2]s: %%+v", err) } From 1ff7cc32d1e6801b556330b5b4b8c1d3ff3c659b Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 1 Aug 2024 23:59:15 +0100 Subject: [PATCH 024/134] importer-msgraph-metadata: support resource IDs as common types --- .../repository/helpers_parse.go | 26 +++++--- .../repository/internal/helpers/known_data.go | 8 ++- .../repository/internal/models/operations.go | 3 + .../internal/models/resource_ids.go | 2 +- .../stages/common_types_resource_ids.go | 49 ++++++++++++++ .../repository/internal/stages/operations.go | 11 ++-- .../internal/stages/resource_ids.go | 2 +- .../internal/transforms/sdk_operation.go | 2 + .../repository/save_common_types.go | 5 ++ tools/data-api-sdk/v1/models/common_types.go | 9 ++- tools/data-api-sdk/v1/models/sdk_operation.go | 3 + .../components/parser/resourceids.go | 64 +++++++++++++++++- .../internal/cmd/import.go | 1 - .../internal/logging/log.go | 26 +++++++- .../internal/pipeline/interface.go | 8 +-- .../internal/pipeline/pipeline.go | 20 +++--- .../internal/pipeline/run_importer.go | 24 ++++--- .../pipeline/task_parse_resourceids.go | 65 ------------------- .../task_parse_service_resourceids.go | 12 ++++ ...ces.go => task_parse_service_resources.go} | 11 ++-- .../pipeline/task_persist_common_types.go | 3 +- .../internal/pipeline/task_persist_service.go | 3 +- .../pipeline/task_translate_service.go | 15 +++-- .../internal/pipeline/translate_models.go | 19 ++++-- 24 files changed, 262 insertions(+), 129 deletions(-) create mode 100644 tools/data-api-repository/repository/internal/stages/common_types_resource_ids.go delete mode 100644 tools/importer-msgraph-metadata/internal/pipeline/task_parse_resourceids.go create mode 100644 tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go rename tools/importer-msgraph-metadata/internal/pipeline/{task_parse_resources.go => task_parse_service_resources.go} (96%) diff --git a/tools/data-api-repository/repository/helpers_parse.go b/tools/data-api-repository/repository/helpers_parse.go index 3418fe58e90..1bdd07429e9 100644 --- a/tools/data-api-repository/repository/helpers_parse.go +++ b/tools/data-api-repository/repository/helpers_parse.go @@ -57,8 +57,9 @@ func parseCommonTypesWithin(workingDirectory string, logger hclog.Logger) (*map[ apiVersion = strings.TrimPrefix(apiVersion, "/") commonTypes := sdkModels.CommonTypes{ - Constants: map[string]sdkModels.SDKConstant{}, - Models: map[string]sdkModels.SDKModel{}, + Constants: map[string]sdkModels.SDKConstant{}, + Models: map[string]sdkModels.SDKModel{}, + ResourceIDs: make(map[string]sdkModels.ResourceID), } logger.Trace(fmt.Sprintf("Discovering the Common Type Constants within %q..", subDirectory)) @@ -75,7 +76,14 @@ func parseCommonTypesWithin(workingDirectory string, logger hclog.Logger) (*map[ } commonTypes.Models = *models - if len(commonTypes.Constants) > 0 || len(commonTypes.Models) > 0 { + logger.Trace(fmt.Sprintf("Discovering the Common Type Resource IDs within %q..", subDirectory)) + resourceIds, err := parseResourceIDsWithin(subDirectory, *constants, logger) + if err != nil { + return nil, fmt.Errorf("parsing the Common Type Models within %q: %+v", subDirectory, err) + } + commonTypes.ResourceIDs = *resourceIds + + if len(commonTypes.Constants) > 0 || len(commonTypes.Models) > 0 || len(commonTypes.ResourceIDs) > 0 { output[apiVersion] = commonTypes } } @@ -183,15 +191,17 @@ func parseAPIResourceWithin(workingDirectory, resourceName string, commonTypesFo } knownData := helpers.KnownData{ - Constants: *constants, - Models: *models, - ResourceIds: *resourceIds, - CommonTypeConstants: make(map[string]sdkModels.SDKConstant), - CommonTypeModels: make(map[string]sdkModels.SDKModel), + Constants: *constants, + Models: *models, + ResourceIds: *resourceIds, + CommonTypeConstants: make(map[string]sdkModels.SDKConstant), + CommonTypeModels: make(map[string]sdkModels.SDKModel), + CommonTypesResourceIds: make(map[string]sdkModels.ResourceID), } if commonTypesForThisAPIVersion != nil { knownData.CommonTypeConstants = commonTypesForThisAPIVersion.Constants knownData.CommonTypeModels = commonTypesForThisAPIVersion.Models + knownData.CommonTypesResourceIds = commonTypesForThisAPIVersion.ResourceIDs } logger.Trace(fmt.Sprintf("Parsing the Operations within %q..", workingDirectory)) diff --git a/tools/data-api-repository/repository/internal/helpers/known_data.go b/tools/data-api-repository/repository/internal/helpers/known_data.go index f2989f67270..1fcd7a190f5 100644 --- a/tools/data-api-repository/repository/internal/helpers/known_data.go +++ b/tools/data-api-repository/repository/internal/helpers/known_data.go @@ -10,8 +10,9 @@ type KnownData struct { Models map[string]sdkModels.SDKModel ResourceIds map[string]sdkModels.ResourceID - CommonTypeConstants map[string]sdkModels.SDKConstant - CommonTypeModels map[string]sdkModels.SDKModel + CommonTypeConstants map[string]sdkModels.SDKConstant + CommonTypeModels map[string]sdkModels.SDKModel + CommonTypesResourceIds map[string]sdkModels.ResourceID } func (d KnownData) ConstantExists(constantName string) bool { @@ -38,5 +39,6 @@ func (d KnownData) ModelExists(modelName string) bool { func (d KnownData) ResourceIDExists(resourceIdName string) bool { _, resourceIdExists := d.ResourceIds[resourceIdName] - return resourceIdExists + _, commonTypesResourceIdExists := d.CommonTypesResourceIds[resourceIdName] + return resourceIdExists || commonTypesResourceIdExists } diff --git a/tools/data-api-repository/repository/internal/models/operations.go b/tools/data-api-repository/repository/internal/models/operations.go index 2856e976f71..13d52688dc8 100644 --- a/tools/data-api-repository/repository/internal/models/operations.go +++ b/tools/data-api-repository/repository/internal/models/operations.go @@ -32,6 +32,9 @@ type Operation struct { // ResourceIdName specifies the name of the optional Resource ID used for this operation ResourceIdName *string `json:"resourceIdName,omitempty"` + // ResourceIdNameIsCommonType specifies whether the referenced ResourceIdName is a common type + ResourceIdNameIsCommonType *bool `json:"resourceIdNameIsCommonType,omitempty"` + // RequestObject specifies the optional ObjectDefinition to be specified in the Request RequestObject *ObjectDefinition `json:"requestObject,omitempty"` diff --git a/tools/data-api-repository/repository/internal/models/resource_ids.go b/tools/data-api-repository/repository/internal/models/resource_ids.go index dd7ffb62bd7..61fbeb4558d 100644 --- a/tools/data-api-repository/repository/internal/models/resource_ids.go +++ b/tools/data-api-repository/repository/internal/models/resource_ids.go @@ -17,7 +17,7 @@ type ResourceId struct { // during `terraform import` examples. Id string `json:"id"` // TODO: does this want renaming to `ExampleValue` to be clearer? - // Segments specifies the ordered list of ResourceIdSegments which comprise this Resource Id. + // Segments specifies the ordered list of ResourceIdSegments which comprise this ResourceId. // Typically, these comprise Static and UserSpecified Segment Types. Segments []ResourceIdSegment `json:"segments"` } diff --git a/tools/data-api-repository/repository/internal/stages/common_types_resource_ids.go b/tools/data-api-repository/repository/internal/stages/common_types_resource_ids.go new file mode 100644 index 00000000000..c758483ad87 --- /dev/null +++ b/tools/data-api-repository/repository/internal/stages/common_types_resource_ids.go @@ -0,0 +1,49 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package stages + +import ( + "fmt" + "path/filepath" + + "github.com/hashicorp/go-hclog" + "github.com/hashicorp/pandora/tools/data-api-repository/repository/internal/helpers" + "github.com/hashicorp/pandora/tools/data-api-repository/repository/internal/transforms" + sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" +) + +var _ Stage = CommonTypesResourceIDsStage{} + +type CommonTypesResourceIDsStage struct { + // APIVersion specifies the APIVersion within the Service where the Resource IDs exist. + APIVersion string + + // CommonTypesResourceIDs specifies a map of Resource ID Name (key) to ResourceID (value) that should + // be persisted. + CommonTypesResourceIDs map[string]sdkModels.ResourceID +} + +func (g CommonTypesResourceIDsStage) Name() string { + return "Common Types Resource IDs" +} + +func (g CommonTypesResourceIDsStage) Generate(input *helpers.FileSystem, logger hclog.Logger) error { + logger.Debug("Generating Common Types Resource IDs") + for resourceIDName, resourceIDValue := range g.CommonTypesResourceIDs { + logger.Trace(fmt.Sprintf("Generating Resource ID %q", resourceIDName)) + mapped, err := transforms.MapResourceIDToRepository(resourceIDName, resourceIDValue) + if err != nil { + return fmt.Errorf("mapping Resource ID %q: %+v", resourceIDName, err) + } + + // {workingDirectory}/common-types/{APIVersion}/ResourceId-{Name}.json + path := filepath.Join(helpers.CommonTypesDirectoryName, g.APIVersion, fmt.Sprintf("ResourceId-%s.json", resourceIDName)) + logger.Trace(fmt.Sprintf("Staging to %s", path)) + if err = input.Stage(path, *mapped); err != nil { + return fmt.Errorf("staging Resource ID %q: %+v", resourceIDName, err) + } + } + + return nil +} diff --git a/tools/data-api-repository/repository/internal/stages/operations.go b/tools/data-api-repository/repository/internal/stages/operations.go index ddcee120ecb..cd483d0e5d4 100644 --- a/tools/data-api-repository/repository/internal/stages/operations.go +++ b/tools/data-api-repository/repository/internal/stages/operations.go @@ -44,11 +44,12 @@ func (g OperationsStage) Generate(input *helpers.FileSystem, logger hclog.Logger logger.Trace(fmt.Sprintf("Generating Operation %q..", operationName)) knownData := helpers.KnownData{ - Constants: g.Constants, - Models: g.Models, - ResourceIds: map[string]sdkModels.ResourceID{}, - CommonTypeConstants: g.CommonTypesForThisAPIVersion.Constants, - CommonTypeModels: g.CommonTypesForThisAPIVersion.Models, + Constants: g.Constants, + Models: g.Models, + ResourceIds: map[string]sdkModels.ResourceID{}, + CommonTypeConstants: g.CommonTypesForThisAPIVersion.Constants, + CommonTypeModels: g.CommonTypesForThisAPIVersion.Models, + CommonTypesResourceIds: g.CommonTypesForThisAPIVersion.ResourceIDs, } operationDetails := g.Operations[operationName] diff --git a/tools/data-api-repository/repository/internal/stages/resource_ids.go b/tools/data-api-repository/repository/internal/stages/resource_ids.go index e996d0d6633..0a335619fd0 100644 --- a/tools/data-api-repository/repository/internal/stages/resource_ids.go +++ b/tools/data-api-repository/repository/internal/stages/resource_ids.go @@ -39,7 +39,7 @@ func (g ResourceIDsStage) Generate(input *helpers.FileSystem, logger hclog.Logge // {ServiceDirectory}/APIVersion/APIResource/ResourceId-{Name}.json path := filepath.Join(g.APIVersion, g.APIResource, fmt.Sprintf("ResourceId-%s.json", resourceIDName)) logger.Trace(fmt.Sprintf("Staging to %s", path)) - if err := input.Stage(path, *mapped); err != nil { + if err = input.Stage(path, *mapped); err != nil { return fmt.Errorf("staging Resource ID %q: %+v", resourceIDName, err) } } diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_operation.go b/tools/data-api-repository/repository/internal/transforms/sdk_operation.go index efdecaf8644..e82e3e70390 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_operation.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_operation.go @@ -35,6 +35,7 @@ func MapSDKOperationFromRepository(input repositoryModels.Operation, knownData h Options: options, RequestObject: nil, ResourceIDName: nil, + ResourceIDNameIsCommonType: input.ResourceIdNameIsCommonType, ResponseObject: nil, URISuffix: input.UriSuffix, } @@ -78,6 +79,7 @@ func MapSDKOperationToRepository(operationName string, input sdkModels.SDKOperat LongRunning: input.LongRunning, HTTPMethod: strings.ToUpper(input.Method), ResourceIdName: input.ResourceIDName, + ResourceIdNameIsCommonType: input.ResourceIDNameIsCommonType, UriSuffix: input.URISuffix, } diff --git a/tools/data-api-repository/repository/save_common_types.go b/tools/data-api-repository/repository/save_common_types.go index 6823c645f66..4a207b82fed 100644 --- a/tools/data-api-repository/repository/save_common_types.go +++ b/tools/data-api-repository/repository/save_common_types.go @@ -37,6 +37,11 @@ func (r *repositoryImpl) SaveCommonTypes(opts SaveCommonTypesOptions) error { CommonTypeConstants: commonTypes.Constants, CommonTypeModels: commonTypes.Models, }) + + items = append(items, stages.CommonTypesResourceIDsStage{ + APIVersion: apiVersion, + CommonTypesResourceIDs: commonTypes.ResourceIDs, + }) } fs := helpers.NewFileSystem() diff --git a/tools/data-api-sdk/v1/models/common_types.go b/tools/data-api-sdk/v1/models/common_types.go index e612b991dfb..7668d985e7c 100644 --- a/tools/data-api-sdk/v1/models/common_types.go +++ b/tools/data-api-sdk/v1/models/common_types.go @@ -9,10 +9,15 @@ type CommonTypes struct { // Constants specifies a map of Constant Name (key) to SDKConstant (value) which // describes each common Constant supported by this API. // NOTE: the Constant Name is a valid Identifier. - Constants map[string]SDKConstant `json:"constants"` + Constants map[string]SDKConstant // Models specifies a map of Model Name (key) to SDKModel (value) which // describes each common Model supported by this API. // NOTE: the Model Name is a valid Identifier. - Models map[string]SDKModel `json:"models"` + Models map[string]SDKModel + + // ResourceIDs specifies a map of Resource ID Name (key) to SDKOperation (value) + // which contains information about the common ResourceIDs available in this API. + // NOTE: the Resource ID Name is a valid Identifier. + ResourceIDs map[string]ResourceID } diff --git a/tools/data-api-sdk/v1/models/sdk_operation.go b/tools/data-api-sdk/v1/models/sdk_operation.go index 1cea0ceb08a..bd1b022ea4f 100644 --- a/tools/data-api-sdk/v1/models/sdk_operation.go +++ b/tools/data-api-sdk/v1/models/sdk_operation.go @@ -49,6 +49,9 @@ type SDKOperation struct { // 3. {uriSuffix} ResourceIDName *string `json:"resourceIdName"` + // ResourceIDNameIsCommonType specifies whether the referenced ResourceIdName is a common type + ResourceIDNameIsCommonType *bool `json:"resourceIdNameIsCommonType,omitempty"` + // ResponseObject optionally specifies the Object which is expected to be returned in the // HTTP Response. This is represented by an SDKObjectDefinition, which defines the shape // of the object. diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 7fc69527f20..936e1a8ef4b 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -8,9 +8,12 @@ import ( "sort" "strings" + "github.com/getkin/kin-openapi/openapi3" "github.com/hashicorp/go-azure-helpers/lang/pointer" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/tags" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) const ( @@ -62,7 +65,6 @@ func (ri ResourceIds) MatchIdOrAncestor(resourceId ResourceId) (*ResourceIdMatch type ResourceId struct { Name string Service string - Version string Segments []ResourceIdSegment } @@ -420,3 +422,63 @@ func NewResourceId(path string, tags []string) (id ResourceId) { return } + +func ParseResourceIDs(paths openapi3.Paths, serviceName *string) (resourceIds ResourceIds, err error) { + resourceIds = make(ResourceIds, 0) + for path, item := range paths { + operations := item.Operations() + operationTags := make([]string, 0) + + if serviceName != nil { + // Check tags and skip + skip := true + for _, operation := range operations { + if tags.Matches(*serviceName, operation.Tags) { + operationTags = append(operationTags, operation.Tags...) + skip = false + break + } + } + if skip { + continue + } + } + + id := NewResourceId(path, operationTags) + segmentsLastIndex := len(id.Segments) - 1 + + lastSegment := id.Segments[segmentsLastIndex] + if lastSegment.Type == SegmentODataReference { + lastSegment = id.Segments[segmentsLastIndex-1] + truncated := id.TruncateToLastSegmentOfTypeBeforeSegment([]ResourceIdSegmentType{}, segmentsLastIndex) + if truncated == nil { + err = fmt.Errorf("unable to truncate resource ID with OData Reference: %q", id.ID()) + return + } + id = *truncated + } + if lastSegment.Type != SegmentUserValue { + continue + } + + resourceIdName := "" + if r, ok := id.FindResourceIdName(); ok { + resourceIdName = normalize.Singularize(normalize.CleanName(*r)) + } + + if resourceIdName != "" { + logging.Infof(fmt.Sprintf("Found resource ID %q", resourceIdName)) + + id.Name = resourceIdName + + if serviceName != nil { + id.Service = normalize.CleanName(*serviceName) + } + + resourceIds = append(resourceIds, &id) + } + } + + return + +} diff --git a/tools/importer-msgraph-metadata/internal/cmd/import.go b/tools/importer-msgraph-metadata/internal/cmd/import.go index 7ad8189c38f..ce78bd36bd1 100644 --- a/tools/importer-msgraph-metadata/internal/cmd/import.go +++ b/tools/importer-msgraph-metadata/internal/cmd/import.go @@ -65,7 +65,6 @@ func (c ImportCommand) Run(args []string) int { input := pipeline.RunInput{ ProviderPrefix: "azuread", - Logger: logging.Log, ConfigFilePath: c.microsoftGraphConfigPath, MetadataDirectory: c.metadataDirectory, diff --git a/tools/importer-msgraph-metadata/internal/logging/log.go b/tools/importer-msgraph-metadata/internal/logging/log.go index 4fc7607cad8..ac01c2e3f7c 100644 --- a/tools/importer-msgraph-metadata/internal/logging/log.go +++ b/tools/importer-msgraph-metadata/internal/logging/log.go @@ -3,10 +3,34 @@ package logging -import "github.com/hashicorp/go-hclog" +import ( + "fmt" + + "github.com/hashicorp/go-hclog" +) var Log hclog.Logger func init() { Log = hclog.NewNullLogger() } + +func Debugf(msg string, args ...interface{}) { + Log.Debug(fmt.Sprintf(msg, args...)) +} + +func Errorf(msg string, args ...interface{}) { + Log.Error(fmt.Sprintf(msg, args...)) +} + +func Tracef(msg string, args ...interface{}) { + Log.Trace(fmt.Sprintf(msg, args...)) +} + +func Infof(msg string, args ...interface{}) { + Log.Info(fmt.Sprintf(msg, args...)) +} + +func Warnf(msg string, args ...interface{}) { + Log.Warn(fmt.Sprintf(msg, args...)) +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/interface.go b/tools/importer-msgraph-metadata/internal/pipeline/interface.go index 9a79571e452..858b4a94235 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/interface.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/interface.go @@ -6,15 +6,13 @@ package pipeline import ( "fmt" - "github.com/hashicorp/go-hclog" "github.com/hashicorp/pandora/tools/data-api-repository/repository" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) type RunInput struct { ProviderPrefix string - Logger hclog.Logger - CommonTypesDirectoryName string ConfigFilePath string MetadataDirectory string @@ -25,9 +23,7 @@ type RunInput struct { } func Run(input RunInput) error { - logger := input.Logger - - metadataGitSha, err := determineGitSha(input.MetadataDirectory, logger) + metadataGitSha, err := determineGitSha(input.MetadataDirectory, logging.Log) if err != nil { return fmt.Errorf("determining Git SHA at %q: %+v", input.MetadataDirectory, err) } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go b/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go index 425b28ddcde..2a1e64680d7 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go @@ -8,19 +8,19 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/getkin/kin-openapi/openapi3" - "github.com/hashicorp/go-hclog" "github.com/hashicorp/pandora/tools/data-api-repository/repository" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) type pipeline struct { apiVersion string commonTypesForVersion sdkModels.CommonTypes repo repository.Repository - logger hclog.Logger metadataGitSha string outputDirectory string + resourceIds parser.ResourceIds spec *openapi3.T } @@ -37,14 +37,14 @@ func (p pipeline) ForService(serviceName string) pipelineForService { } func (p pipelineForService) RunImport(serviceTags []string, models parser.Models, constants parser.Constants) error { - p.logger.Info(fmt.Sprintf("Parsing resource IDs for %q", p.service)) - resourceIds, err := p.parseResourceIDs() - if err != nil { - return err - } + //logging.Infof(fmt.Sprintf("Parsing resource IDs for %q", p.service)) + //resourceIds, err := p.parseResourceIDs() + //if err != nil { + // return err + //} - p.logger.Info(fmt.Sprintf("Parsing resources for %q", p.service)) - resources, err := p.parseResources(resourceIds, models, constants) + logging.Infof(fmt.Sprintf("Parsing resources for %q", p.service)) + resources, err := p.parseResources(p.resourceIds, models, constants) if err != nil { return err } @@ -62,7 +62,7 @@ func (p pipelineForService) RunImport(serviceTags []string, models parser.Models if len(resource.Paths) > 0 { path = resource.Paths[0].ID() } - p.logger.Warn(spew.Sprintf("Resource with no category was encountered for %q at %q: %#v", p.service, path, *resource)) + logging.Warnf(spew.Sprintf("Resource with no category was encountered for %q at %q: %#v", p.service, path, *resource)) } } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go b/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go index bfdbe5b5b92..45903115648 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go @@ -12,18 +12,17 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/tags" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" "github.com/hashicorp/pandora/tools/sdk/config/services" ) func runImporter(input RunInput, metadataGitSha string) error { - logger := input.Logger - config, err := services.LoadFromFile(input.ConfigFilePath) if err != nil { return fmt.Errorf("loading config: %+v", err) } - logger.Debug("Removing any existing API Definitions") + logging.Debugf("Removing any existing API Definitions") if err = input.Repo.PurgeExistingData(sdkModels.MicrosoftGraphMetaDataSourceDataOrigin); err != nil { return fmt.Errorf("removing existing API Definitions: %+v", err) } @@ -34,24 +33,31 @@ func runImporter(input RunInput, metadataGitSha string) error { return err } } - logger.Info("Finished!") + logging.Infof("Finished!") return nil } func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha string, config *services.Config) error { - input.Logger.Info(fmt.Sprintf("Loading OpenAPI3 definitions for API version %q", apiVersion)) + logging.Infof(fmt.Sprintf("Loading OpenAPI3 definitions for API version %q", apiVersion)) spec, err := openapi3.NewLoader().LoadFromFile(filepath.Join(input.MetadataDirectory, openApiFile)) if err != nil { return err } + logging.Infof(fmt.Sprintf("Parsing models and constants...")) models, constants, err := parser.Common(spec.Components.Schemas) if err != nil { return err } - commonTypesForApiVersion, err := translateModelsToDataApiSdkTypes(models, constants) + logging.Infof(fmt.Sprintf("Parsing resource IDs...")) + resourceIds, err := parser.ParseResourceIDs(spec.Paths, nil) + if err != nil { + return err + } + + commonTypesForApiVersion, err := translateModelsToDataApiSdkTypes(models, constants, resourceIds) if err != nil { return err } @@ -64,9 +70,9 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha p := &pipeline{ apiVersion: apiVersion, commonTypesForVersion: *commonTypesForApiVersion, - logger: input.Logger, metadataGitSha: metadataGitSha, outputDirectory: input.OutputDirectory, + resourceIds: resourceIds, repo: input.Repo, spec: spec, } @@ -105,11 +111,13 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } } - input.Logger.Info(fmt.Sprintf("Importing service %q for API version %q", service.Name, version)) + logging.Infof(fmt.Sprintf("Importing service %q for API version %q", service.Name, version)) if err = p.ForService(service.Directory).RunImport(serviceTags[service.Directory], models, constants); err != nil { return err } + + break } } } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resourceids.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resourceids.go deleted file mode 100644 index 12025284dd9..00000000000 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resourceids.go +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package pipeline - -import ( - "fmt" - - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/tags" -) - -func (p pipelineForService) parseResourceIDs() (resourceIds parser.ResourceIds, err error) { - resourceIds = make(parser.ResourceIds, 0) - for path, item := range p.spec.Paths { - operations := item.Operations() - operationTags := make([]string, 0) - - // Check tags and skip - skip := true - for _, operation := range operations { - if tags.Matches(p.service, operation.Tags) { - operationTags = append(operationTags, operation.Tags...) - skip = false - } - } - if skip { - continue - } - - id := parser.NewResourceId(path, operationTags) - segmentsLastIndex := len(id.Segments) - 1 - - lastSegment := id.Segments[segmentsLastIndex] - if lastSegment.Type == parser.SegmentODataReference { - lastSegment = id.Segments[segmentsLastIndex-1] - truncated := id.TruncateToLastSegmentOfTypeBeforeSegment([]parser.ResourceIdSegmentType{}, segmentsLastIndex) - if truncated == nil { - err = fmt.Errorf("unable to truncate resource ID with OData Reference (service %q, version %q): %q", p.service, p.apiVersion, id.ID()) - return - } - id = *truncated - } - if lastSegment.Type != parser.SegmentUserValue { - continue - } - - resourceIdName := "" - if r, ok := id.FindResourceIdName(); ok { - resourceIdName = normalize.Singularize(normalize.CleanName(*r)) - } - - if resourceIdName != "" { - p.logger.Info(fmt.Sprintf("Found resource ID %q (service %q, version %q)", resourceIdName, p.service, p.apiVersion)) - - id.Name = resourceIdName - id.Service = normalize.CleanName(p.service) - id.Version = p.apiVersion - resourceIds = append(resourceIds, &id) - } - } - - return -} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go new file mode 100644 index 00000000000..264b614f228 --- /dev/null +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go @@ -0,0 +1,12 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package pipeline + +import ( + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +func (p pipelineForService) parseResourceIDs() (resourceIds parser.ResourceIds, err error) { + return parser.ParseResourceIDs(p.spec.Paths, &p.service) +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resources.go similarity index 96% rename from tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go rename to tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resources.go index 3844f9bbbbd..e33cfd1dbd1 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resources.go @@ -12,6 +12,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/tags" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, models parser.Models, constants parser.Constants) (resources parser.Resources, err error) { @@ -37,7 +38,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model // Determine whether to skip a path containing unsupported segment types for idx, segment := range parsedPath.Segments { if segment.Type == parser.SegmentCast || segment.Type == parser.SegmentFunction { - p.logger.Debug(fmt.Sprintf("Skipping path containing %s at position %d for %q: %v", segment.Type, idx, p.service, path)) + logging.Debugf(fmt.Sprintf("Skipping path containing %s at position %d for %q: %v", segment.Type, idx, p.service, path)) skip = true break } @@ -52,7 +53,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model resourceName = *r } if resourceName == "" { - p.logger.Warn(fmt.Sprintf("Path with unknown name was encountered for %q: %v", p.service, path)) + logging.Warnf(fmt.Sprintf("Path with unknown name was encountered for %q: %v", p.service, path)) continue } @@ -66,7 +67,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model if _, ok := resources[resourceName]; !ok { // Create a new resource if not already encountered - p.logger.Info(fmt.Sprintf("Found new resource %q (category %q, service %q, version %q)", resourceName, resourceCategory, p.service, p.apiVersion)) + logging.Infof(fmt.Sprintf("Found new resource %q (category %q, service %q, version %q)", resourceName, resourceCategory, p.service, p.apiVersion)) resources[resourceName] = &parser.Resource{ Name: resourceName, @@ -110,7 +111,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model if uriSuffix != nil { if uriSuffixParsed := parser.NewResourceId(*uriSuffix, operationTags); uriSuffixParsed.HasUserValue() { - p.logger.Info(fmt.Sprintf("Skipping URI suffix containing user value in resource %q (category %q, service %q, version %q): %q", resourceName, resourceCategory, p.service, p.apiVersion, *uriSuffix)) + logging.Infof(fmt.Sprintf("Skipping URI suffix containing user value in resource %q (category %q, service %q, version %q): %q", resourceName, resourceCategory, p.service, p.apiVersion, *uriSuffix)) continue } } @@ -199,7 +200,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model // Skip unknown operations if operationType == parser.OperationTypeUnknown { - p.logger.Warn(fmt.Sprintf("Skipping unknown operation type for %q: %v", p.service, path)) + logging.Warnf(fmt.Sprintf("Skipping unknown operation type for %q: %v", p.service, path)) continue } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go index 72954721298..07fb3edf7e6 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go @@ -8,10 +8,11 @@ import ( "github.com/hashicorp/pandora/tools/data-api-repository/repository" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) func (p pipeline) PersistCommonTypesDefinitions() error { - p.logger.Info("Persisting Common Types Definitions..") + logging.Infof("Persisting Common Types Definitions..") commonTypes := map[string]sdkModels.CommonTypes{ p.apiVersion: p.commonTypesForVersion, diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go index e2a0e0f62d4..e8658b81214 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go @@ -9,11 +9,12 @@ import ( "github.com/hashicorp/go-azure-helpers/lang/pointer" "github.com/hashicorp/pandora/tools/data-api-repository/repository" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) func (p pipelineForService) persistApiDefinitions(sdkServices map[string]sdkModels.Service, commonTypes map[string]sdkModels.CommonTypes) error { for serviceName, service := range sdkServices { - p.logger.Info(fmt.Sprintf("Persisting API Definitions for Service %q..", serviceName)) + logging.Infof(fmt.Sprintf("Persisting API Definitions for Service %q..", serviceName)) opts := repository.SaveServiceOptions{ CommonTypes: commonTypes, diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index a7b8c623ea2..7652caaf5c8 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -6,6 +6,7 @@ package pipeline import ( "fmt" + "github.com/hashicorp/go-azure-helpers/lang/pointer" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/blacklisted" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" @@ -60,12 +61,13 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta if operation.ResourceId != nil { resourceIdName = &operation.ResourceId.Name - sdkResourceId, err := operation.ResourceId.DataApiSdkResourceId() - if err != nil { - return nil, err - } - - sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category].ResourceIDs[operation.ResourceId.Name] = *sdkResourceId + // No longer output resource IDs per service, they are now common types + //sdkResourceId, err := operation.ResourceId.DataApiSdkResourceId() + //if err != nil { + // return nil, err + //} + // + //sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category].ResourceIDs[operation.ResourceId.Name] = *sdkResourceId } var requestObject *sdkModels.SDKObjectDefinition @@ -170,6 +172,7 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta Options: nil, // TODO request options for odata queries etc RequestObject: requestObject, ResourceIDName: resourceIdName, + ResourceIDNameIsCommonType: pointer.To(true), ResponseObject: responseObject, URISuffix: operation.UriSuffix, } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go index 696baa53c25..350c8ea62ba 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go @@ -11,9 +11,10 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" ) -func translateModelsToDataApiSdkTypes(models parser.Models, constants parser.Constants) (*sdkModels.CommonTypes, error) { +func translateModelsToDataApiSdkTypes(models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) (*sdkModels.CommonTypes, error) { sdkConstantsMap := make(map[string]sdkModels.SDKConstant) sdkModelsMap := make(map[string]sdkModels.SDKModel) + sdkResourceIdsMap := make(map[string]sdkModels.ResourceID) for modelName, model := range models { sdkModel, err := model.DataApiSdkModel(models) @@ -31,15 +32,25 @@ func translateModelsToDataApiSdkTypes(models parser.Models, constants parser.Con constantValues[fmt.Sprintf("_%s", normalize.CleanName(value))] = value } - // TODO support additional types, if there are any sdkConstantsMap[constantName] = sdkModels.SDKConstant{ + // TODO support additional types, if there are any Type: sdkModels.StringSDKConstantType, Values: constantValues, } } + for _, resourceId := range resourceIds { + sdkResourceId, err := resourceId.DataApiSdkResourceId() + if err != nil { + return nil, err + } + + sdkResourceIdsMap[resourceId.Name] = *sdkResourceId + } + return &sdkModels.CommonTypes{ - Constants: sdkConstantsMap, - Models: sdkModelsMap, + Constants: sdkConstantsMap, + Models: sdkModelsMap, + ResourceIDs: sdkResourceIdsMap, }, nil } From ce35d2963bb53f21507035a01f0bd2a90cc27228 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 2 Aug 2024 00:00:57 +0100 Subject: [PATCH 025/134] generator-go-sdk: support resource IDs as common types, fix race conditions for common types generator --- .../generator-go-sdk/internal/cmd/generate.go | 92 +++++++++++++------ .../internal/generator/data.go | 12 +-- .../internal/generator/service.go | 59 ++++++------ .../internal/generator/settings.go | 7 +- .../internal/generator/stage_clients.go | 2 +- .../internal/generator/stage_common_types.go | 27 +++++- .../internal/generator/stage_constants.go | 2 +- .../internal/generator/stage_ids.go | 2 +- .../internal/generator/stage_meta_client.go | 2 +- .../internal/generator/stage_methods.go | 2 +- .../internal/generator/stage_models.go | 2 +- .../internal/generator/stage_predicates.go | 2 +- .../internal/generator/stage_readme.go | 2 +- .../internal/generator/stage_version.go | 2 +- .../internal/generator/templater.go | 8 +- .../internal/generator/templater_constant.go | 2 +- .../generator/templater_meta_client.go | 2 + .../internal/generator/templater_methods.go | 19 +++- .../internal/generator/templater_readme.go | 21 ++++- 19 files changed, 179 insertions(+), 88 deletions(-) diff --git a/tools/generator-go-sdk/internal/cmd/generate.go b/tools/generator-go-sdk/internal/cmd/generate.go index c0ea36444d0..d20e0f76ec3 100644 --- a/tools/generator-go-sdk/internal/cmd/generate.go +++ b/tools/generator-go-sdk/internal/cmd/generate.go @@ -58,24 +58,31 @@ func (g GenerateCommand) Run(args []string) int { }, } - input.settings.UseOldBaseLayerFor( - // @tombuildsstuff: New Services should now use the `hashicorp/go-azure-sdk` base layer by default - // instead of the base layer from `Azure/go-autorest` - as such this list is for compatibility purposes - // with services already used in `terraform-provider-azurerm`. These services will be gradually removed - // from this list to ensure they're migrated across to using `hashicorp/go-azure-sdk`s base layer. - - "FrontDoor", - "RecoveryServicesBackup", // error: generating Service "RecoveryServicesBackup" / Version "2023-04-01" / Resource "Operation": generating methods: templating methods (using hashicorp/go-azure-sdk): templating: building methods: building response struct template: existing model "ValidateOperationResponse" conflicts with the operation response model for "Validate" - "Subscription", - - // @tombuildsstuff: The Key Vault API has an issue where it requires that the EXACT casing returned in the Response - // is sent in the Request to update or remove a Key Vault Access Policy - and using other casings mean the update - // or removal fails - which is tracked in https://github.com/hashicorp/pandora/issues/3229. - // - // After testing it appears that `2023-07-01` doesn't suffer from this problem - as such we're going to leave - // `2023-02-01` on the older base layer and use the newer API Version as a divide to give us a clear migration path. - "KeyVault@2023-02-01", - ) + if g.sourceDataType == models.MicrosoftGraphSourceDataType { + input.settings.VersionsToGenerateCommonTypes = map[string]models.SourceDataOrigin{ + "stable": models.MicrosoftGraphMetaDataSourceDataOrigin, + "beta": models.MicrosoftGraphMetaDataSourceDataOrigin, + } + } else if g.sourceDataType == models.ResourceManagerSourceDataType { + input.settings.UseOldBaseLayerFor( + // @tombuildsstuff: New Services should now use the `hashicorp/go-azure-sdk` base layer by default + // instead of the base layer from `Azure/go-autorest` - as such this list is for compatibility purposes + // with services already used in `terraform-provider-azurerm`. These services will be gradually removed + // from this list to ensure they're migrated across to using `hashicorp/go-azure-sdk`s base layer. + + "FrontDoor", + "RecoveryServicesBackup", // error: generating Service "RecoveryServicesBackup" / Version "2023-04-01" / Resource "Operation": generating methods: templating methods (using hashicorp/go-azure-sdk): templating: building methods: building response struct template: existing model "ValidateOperationResponse" conflicts with the operation response model for "Validate" + "Subscription", + + // @tombuildsstuff: The Key Vault API has an issue where it requires that the EXACT casing returned in the Response + // is sent in the Request to update or remove a Key Vault Access Policy - and using other casings mean the update + // or removal fails - which is tracked in https://github.com/hashicorp/pandora/issues/3229. + // + // After testing it appears that `2023-07-01` doesn't suffer from this problem - as such we're going to leave + // `2023-02-01` on the older base layer and use the newer API Version as a divide to give us a clear migration path. + "KeyVault@2023-02-01", + ) + } var serviceNames string @@ -128,7 +135,8 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { } } - generatorService := generator.NewServiceGenerator(input.settings) + gen := generator.NewGenerator(input.settings) + for serviceName, service := range data.Services { logging.Debugf("Service %q", serviceName) if !service.Generate { @@ -139,6 +147,8 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { wg.Add(1) go func(serviceName string, service models.Service, input GeneratorInput) { defer wg.Done() + var err error + logging.Debugf("Service %q", serviceName) for versionNumber, versionDetails := range service.APIVersions { logging.Debugf(" Version %q", versionNumber) @@ -150,7 +160,7 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { for resourceName, resourceDetails := range versionDetails.Resources { logging.Debugf(" Resource %q", resourceName) - generatorData := generator.ServiceGeneratorInput{ + serviceGeneratorInput := generator.ServiceGeneratorInput{ CommonTypes: commonTypes, OutputDirectory: input.outputDirectory, ResourceDetails: resourceDetails, @@ -163,15 +173,15 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { VersionName: versionNumber, } logging.Debugf("Generating Service %q / Version %q / Resource %q", serviceName, versionNumber, resourceName) - if err := generatorService.Generate(generatorData); err != nil { + if err = gen.Generate(serviceGeneratorInput); err != nil { addErr(fmt.Errorf("generating Service %q / Version %q / Resource %q: %+v", serviceName, versionNumber, resourceName, err)) return } logging.Debugf("Generated Service %q / Version %q / Resource %q", serviceName, versionNumber, resourceName) } - // then output Common Types and Meta Client - generatorData := generator.VersionGeneratorInput{ + // then output the Meta Client + versionGeneratorInput := generator.VersionGeneratorInput{ OutputDirectory: input.outputDirectory, CommonTypes: commonTypes, ServiceName: serviceName, @@ -180,12 +190,12 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { Source: versionDetails.Source, Type: g.sourceDataType, } - generatorData.UseNewBaseLayer = false + versionGeneratorInput.UseNewBaseLayer = false if input.settings.ShouldUseNewBaseLayer(serviceName, versionNumber) { - generatorData.UseNewBaseLayer = true + versionGeneratorInput.UseNewBaseLayer = true } logging.Debugf("Generating Service %q / Version %q", serviceName, versionNumber) - if err := generatorService.GenerateForVersion(generatorData); err != nil { + if err = gen.GenerateForVersion(versionGeneratorInput); err != nil { addErr(fmt.Errorf("generating Service %q / Version %q: %+v", serviceName, versionNumber, err)) return } @@ -194,6 +204,36 @@ func (g GenerateCommand) run(ctx context.Context, input GeneratorInput) error { }(serviceName, service, input) } + for versionNumber, source := range input.settings.VersionsToGenerateCommonTypes { + wg.Add(1) + go func(versionNumber string, source models.SourceDataOrigin, input GeneratorInput) { + defer wg.Done() + var err error + + commonTypes, ok := data.CommonTypes[versionNumber] + if !ok { + logging.Debugf("No Common Types Found / Version %q", versionNumber) + return + } + + // then output Common Types + generatorData := generator.VersionGeneratorInput{ + OutputDirectory: input.outputDirectory, + CommonTypes: commonTypes, + VersionName: versionNumber, + Source: source, + Type: g.sourceDataType, + UseNewBaseLayer: true, + } + logging.Debugf("Generating Common Types / Version %q", versionNumber) + if err = gen.GenerateCommonTypes(generatorData); err != nil { + addErr(fmt.Errorf("generating Common Types / Version %q: %+v", versionNumber, err)) + return + } + logging.Debugf("Generated Common Types / Version %q", versionNumber) + }(versionNumber, source, input) + } + go func() { wg.Wait() waitDone <- struct{}{} diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index 9dc47fe8c06..1c31db6f569 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -31,10 +31,6 @@ type GeneratorData struct { // the name of the Client e.g. MyThingClient serviceClientName string - // This is the output path for Resource IDs, which then gets aliased by packages - // for example {workingDir}/service/version/ids - idsOutputPath string - // This is the working directory where files should be output for this specific service // for example {workingDir}/{service}/{version}/{resource} resourceOutputPath string @@ -70,10 +66,6 @@ type GeneratorData struct { // whether this is a data plane SDK (omits certain Resource Manager specific features, currently used in ID parsers) isDataPlane bool - // development feature flag - this requires work in the Resource ID parser to handle name conflicts - // @tombuildsstuff: fix this - useIdAliases bool - // development feature flag - should this service use the new transport layer from `hashicorp/go-azure-sdk` // rather than the existing Autorest base layer? useNewBaseLayer bool @@ -85,7 +77,6 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { versionPackageName := strings.ToLower(i.VersionName) versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionPackageName) - idsPath := filepath.Join(versionOutputPath, "ids") resourceOutputPath := filepath.Join(versionOutputPath, resourcePackageName) useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) @@ -103,7 +94,6 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { commonTypesIncludePath: commonTypesIncludePath, commonTypesPackageName: commonTypesPackageName, constants: i.ResourceDetails.Constants, - idsOutputPath: idsPath, isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), models: i.ResourceDetails.Models, operations: i.ResourceDetails.Operations, @@ -114,7 +104,6 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { servicePackageName: strings.ToLower(i.ServiceName), source: i.Source, sourceType: i.Type, - useIdAliases: false, useNewBaseLayer: useNewBaseLayer, } } @@ -154,6 +143,7 @@ func (i VersionGeneratorInput) generatorData(settings Settings) VersionGenerator constants: i.CommonTypes.Constants, isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), models: i.CommonTypes.Models, + packageName: versionPackageName, servicePackageName: strings.ToLower(i.ServiceName), source: i.Source, sourceType: i.Type, diff --git a/tools/generator-go-sdk/internal/generator/service.go b/tools/generator-go-sdk/internal/generator/service.go index 59aab046bdf..282971dd498 100644 --- a/tools/generator-go-sdk/internal/generator/service.go +++ b/tools/generator-go-sdk/internal/generator/service.go @@ -7,18 +7,17 @@ import ( "fmt" "os" "os/exec" - "path/filepath" "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/generator-go-sdk/internal/logging" ) -type ServiceGenerator struct { +type Generator struct { settings Settings } -func NewServiceGenerator(settings Settings) ServiceGenerator { - return ServiceGenerator{ +func NewGenerator(settings Settings) Generator { + return Generator{ settings: settings, } } @@ -36,17 +35,12 @@ type ServiceGeneratorInput struct { VersionName string } -func (s *ServiceGenerator) Generate(input ServiceGeneratorInput) error { +func (s *Generator) Generate(input ServiceGeneratorInput) error { data := input.generatorData(s.settings) if err := cleanAndRecreateWorkingDirectory(data.resourceOutputPath); err != nil { return fmt.Errorf("cleaning/recreating working directory %q: %+v", data.resourceOutputPath, err) } - if data.useIdAliases { - if err := ensureWorkingDirectoryExists(data.idsOutputPath); err != nil { - return fmt.Errorf("ensuring the ids working directory %q exists: %+v", data.idsOutputPath, err) - } - } stages := map[string]func(data GeneratorData) error{ "clients": s.clients, @@ -82,7 +76,26 @@ type VersionGeneratorInput struct { VersionName string } -func (s *ServiceGenerator) GenerateForVersion(input VersionGeneratorInput) error { +func (s *Generator) GenerateForVersion(input VersionGeneratorInput) error { + data := input.generatorData(s.settings) + + stages := map[string]func(data VersionGeneratorData) error{ + "metaClient": s.metaClient, + } + for name, stage := range stages { + logging.Debugf("Running Stage %q..", name) + if err := stage(data); err != nil { + return fmt.Errorf("generating %s: %+v", name, err) + } + } + + runGoFmt(data.versionOutputPath) + runGoImports(data.versionOutputPath) + + return nil +} + +func (s *Generator) GenerateCommonTypes(input VersionGeneratorInput) error { data := input.generatorData(s.settings) if err := cleanAndRecreateWorkingDirectory(data.commonTypesOutputPath); err != nil { @@ -91,7 +104,6 @@ func (s *ServiceGenerator) GenerateForVersion(input VersionGeneratorInput) error stages := map[string]func(data VersionGeneratorData) error{ "commonTypes": s.commonTypes, - "metaClient": s.metaClient, } for name, stage := range stages { logging.Debugf("Running Stage %q..", name) @@ -101,10 +113,7 @@ func (s *ServiceGenerator) GenerateForVersion(input VersionGeneratorInput) error } runGoFmt(data.commonTypesOutputPath) - runGoFmt(data.versionOutputPath) - runGoImports(data.commonTypesOutputPath) - runGoImports(data.versionOutputPath) return nil } @@ -122,22 +131,14 @@ func runGoImports(path string) { } func cleanAndRecreateWorkingDirectory(path string) error { - // first, ensure the directory exists - if err := os.MkdirAll(path, 0777); err != nil { - return fmt.Errorf("creating %q: %+v", path, err) - } - - // determine contents of output directory - pathsToDelete, err := filepath.Glob(filepath.Join(path, "*")) - if err != nil { - return fmt.Errorf("globbing files to delete: %+v", err) + // rm -r + if err := os.RemoveAll(path); err != nil { + return fmt.Errorf("deleting %q: %+v", path, err) } - // delete any contained files and directories - for _, pathToDelete := range pathsToDelete { - if err = os.RemoveAll(pathToDelete); err != nil { - return fmt.Errorf("deleting %q: %w", pathToDelete, err) - } + // then ensure the directory exists + if err := os.MkdirAll(path, 0777); err != nil { + return fmt.Errorf("creating %q: %+v", path, err) } return nil diff --git a/tools/generator-go-sdk/internal/generator/settings.go b/tools/generator-go-sdk/internal/generator/settings.go index 663937a06cc..65b77ce37b9 100644 --- a/tools/generator-go-sdk/internal/generator/settings.go +++ b/tools/generator-go-sdk/internal/generator/settings.go @@ -5,11 +5,14 @@ package generator import ( "fmt" + + "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" ) type Settings struct { - CommonTypesPackageName string - servicesUsingOldBaseLayer map[string]struct{} + CommonTypesPackageName string + VersionsToGenerateCommonTypes map[string]models.SourceDataOrigin + servicesUsingOldBaseLayer map[string]struct{} } func (s *Settings) UseOldBaseLayerFor(serviceNames ...string) { diff --git a/tools/generator-go-sdk/internal/generator/stage_clients.go b/tools/generator-go-sdk/internal/generator/stage_clients.go index a58a376d935..4dff7710651 100644 --- a/tools/generator-go-sdk/internal/generator/stage_clients.go +++ b/tools/generator-go-sdk/internal/generator/stage_clients.go @@ -7,7 +7,7 @@ import ( "fmt" ) -func (s *ServiceGenerator) clients(data GeneratorData) error { +func (s *Generator) clients(data GeneratorData) error { if data.useNewBaseLayer { if err := s.writeToPathForResource(data.resourceOutputPath, "client.go", clientsTemplater{}, data); err != nil { return fmt.Errorf("templating client (using hashicorp/go-azure-sdk): %+v", err) diff --git a/tools/generator-go-sdk/internal/generator/stage_common_types.go b/tools/generator-go-sdk/internal/generator/stage_common_types.go index b4c4ea7c5c9..9a56273e81c 100644 --- a/tools/generator-go-sdk/internal/generator/stage_common_types.go +++ b/tools/generator-go-sdk/internal/generator/stage_common_types.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" ) -func (s *ServiceGenerator) commonTypes(data VersionGeneratorData) error { +func (s *Generator) commonTypes(data VersionGeneratorData) error { if len(data.commonTypes.Constants) == 0 && len(data.commonTypes.Models) == 0 { return nil } @@ -44,5 +44,30 @@ func (s *ServiceGenerator) commonTypes(data VersionGeneratorData) error { } } + for idName, resourceData := range data.commonTypes.ResourceIDs { + if resourceData.CommonIDAlias != nil || len(resourceData.Segments) == 0 { + continue + } + + nameWithoutSuffix := strings.TrimSuffix(idName, "Id") // we suffix 'Id' and 'ID' in places + fileNamePrefix := strings.ToLower(nameWithoutSuffix) + pt := resourceIdTemplater{ + name: idName, + resource: resourceData, + constantDetails: data.constants, + } + if err := s.writeToPathForResource(data.commonTypesOutputPath, fmt.Sprintf("id_%s.go", fileNamePrefix), pt, data.GeneratorData); err != nil { + return fmt.Errorf("templating ids: %+v", err) + } + + tpt := resourceIdTestsTemplater{ + resourceName: idName, + resourceData: resourceData, + constantDetails: data.constants, + } + if err := s.writeToPathForResource(data.commonTypesOutputPath, fmt.Sprintf("id_%s_test.go", fileNamePrefix), tpt, data.GeneratorData); err != nil { + return fmt.Errorf("templating tests for id: %+v", err) + } + } return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_constants.go b/tools/generator-go-sdk/internal/generator/stage_constants.go index c863b33790c..cbf1ba89f1c 100644 --- a/tools/generator-go-sdk/internal/generator/stage_constants.go +++ b/tools/generator-go-sdk/internal/generator/stage_constants.go @@ -7,7 +7,7 @@ import ( "fmt" ) -func (s *ServiceGenerator) constants(data GeneratorData) error { +func (s *Generator) constants(data GeneratorData) error { if len(data.constants) == 0 { return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_ids.go b/tools/generator-go-sdk/internal/generator/stage_ids.go index 8381e1511b1..375a895e351 100644 --- a/tools/generator-go-sdk/internal/generator/stage_ids.go +++ b/tools/generator-go-sdk/internal/generator/stage_ids.go @@ -8,7 +8,7 @@ import ( "strings" ) -func (s *ServiceGenerator) ids(data GeneratorData) error { +func (s *Generator) ids(data GeneratorData) error { outputDirectory := data.resourceOutputPath for idName, resourceData := range data.resourceIds { diff --git a/tools/generator-go-sdk/internal/generator/stage_meta_client.go b/tools/generator-go-sdk/internal/generator/stage_meta_client.go index 1736d418978..8e9a98b923b 100644 --- a/tools/generator-go-sdk/internal/generator/stage_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/stage_meta_client.go @@ -7,7 +7,7 @@ import ( "fmt" ) -func (s *ServiceGenerator) metaClient(data VersionGeneratorData) error { +func (s *Generator) metaClient(data VersionGeneratorData) error { if len(data.resources) == 0 { return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_methods.go b/tools/generator-go-sdk/internal/generator/stage_methods.go index 852e37d577f..232349294b2 100644 --- a/tools/generator-go-sdk/internal/generator/stage_methods.go +++ b/tools/generator-go-sdk/internal/generator/stage_methods.go @@ -8,7 +8,7 @@ import ( "strings" ) -func (s *ServiceGenerator) methods(data GeneratorData) error { +func (s *Generator) methods(data GeneratorData) error { for operationName, operation := range data.operations { if data.useNewBaseLayer { diff --git a/tools/generator-go-sdk/internal/generator/stage_models.go b/tools/generator-go-sdk/internal/generator/stage_models.go index 5e43a0ce5d4..7b4ee4e6e0c 100644 --- a/tools/generator-go-sdk/internal/generator/stage_models.go +++ b/tools/generator-go-sdk/internal/generator/stage_models.go @@ -8,7 +8,7 @@ import ( "strings" ) -func (s *ServiceGenerator) models(data GeneratorData) error { +func (s *Generator) models(data GeneratorData) error { if len(data.models) == 0 { return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_predicates.go b/tools/generator-go-sdk/internal/generator/stage_predicates.go index 5db4c06d28a..4e11793118c 100644 --- a/tools/generator-go-sdk/internal/generator/stage_predicates.go +++ b/tools/generator-go-sdk/internal/generator/stage_predicates.go @@ -8,7 +8,7 @@ import ( "sort" ) -func (s *ServiceGenerator) predicates(data GeneratorData) error { +func (s *Generator) predicates(data GeneratorData) error { modelNames := make(map[string]string) for _, operation := range data.operations { if operation.FieldContainingPaginationDetails == nil { diff --git a/tools/generator-go-sdk/internal/generator/stage_readme.go b/tools/generator-go-sdk/internal/generator/stage_readme.go index 4c32b9c02dc..f1cd8779af4 100644 --- a/tools/generator-go-sdk/internal/generator/stage_readme.go +++ b/tools/generator-go-sdk/internal/generator/stage_readme.go @@ -8,7 +8,7 @@ import ( "sort" ) -func (s *ServiceGenerator) readmeFile(data GeneratorData) error { +func (s *Generator) readmeFile(data GeneratorData) error { if len(data.models) == 0 { return nil } diff --git a/tools/generator-go-sdk/internal/generator/stage_version.go b/tools/generator-go-sdk/internal/generator/stage_version.go index e95817a3068..e9b153d4d58 100644 --- a/tools/generator-go-sdk/internal/generator/stage_version.go +++ b/tools/generator-go-sdk/internal/generator/stage_version.go @@ -7,7 +7,7 @@ import ( "fmt" ) -func (s *ServiceGenerator) version(data GeneratorData) error { +func (s *Generator) version(data GeneratorData) error { if err := s.writeToPathForResource(data.resourceOutputPath, "version.go", versionTemplater{}, data); err != nil { return fmt.Errorf("templating version: %+v", err) } diff --git a/tools/generator-go-sdk/internal/generator/templater.go b/tools/generator-go-sdk/internal/generator/templater.go index 3f1459afbd9..799730d67dd 100644 --- a/tools/generator-go-sdk/internal/generator/templater.go +++ b/tools/generator-go-sdk/internal/generator/templater.go @@ -19,7 +19,7 @@ type templaterForVersion interface { template() (*string, error) } -func (s *ServiceGenerator) writeToPathForResource(directory, filePath string, templater templaterForResource, data GeneratorData) error { +func (s *Generator) writeToPathForResource(directory, filePath string, templater templaterForResource, data GeneratorData) error { fileContents, err := templater.template(data) if err != nil { return fmt.Errorf("templating: %+v", err) @@ -42,7 +42,7 @@ func (s *ServiceGenerator) writeToPathForResource(directory, filePath string, te return nil } -func (s *ServiceGenerator) writeToPathForVersion(directory, filePath string, templater templaterForVersion) error { +func (s *Generator) writeToPathForVersion(directory, filePath string, templater templaterForVersion) error { fileContents, err := templater.template() if err != nil { return fmt.Errorf("templating: %+v", err) @@ -52,7 +52,9 @@ func (s *ServiceGenerator) writeToPathForVersion(directory, filePath string, tem // remove any existing file if it exists _ = os.Remove(fullFilePath) - file, err := os.Create(fullFilePath) + + // call os.OpenFile instead of os.Create to reduce spurious "file not found" errors when O_TRUNC is used + file, err := os.OpenFile(fullFilePath, os.O_WRONLY|os.O_CREATE, 0666) defer file.Close() if err != nil { return fmt.Errorf("opening %q: %+v", fullFilePath, err) diff --git a/tools/generator-go-sdk/internal/generator/templater_constant.go b/tools/generator-go-sdk/internal/generator/templater_constant.go index 19a796d4338..1540fed8d9b 100644 --- a/tools/generator-go-sdk/internal/generator/templater_constant.go +++ b/tools/generator-go-sdk/internal/generator/templater_constant.go @@ -124,7 +124,7 @@ func PossibleValuesFor%[1]s() []%[2]s { } func (t constantTemplater) parseFunction() (*string, error) { - // we only output the parse function if it's a String constant (in which case it'll be needed by the Normalizaation function) + // we only output the parse function if it's a String constant (in which case it'll be needed by the Normalization function) // or if the Constant is used in a Resource ID segment (since that calls this to parse the Resource ID segment) // we could output this always, but this reduces the TLOC we output, which is preferable. requiresParseFunction := t.details.Type == models.StringSDKConstantType || t.constantUsedInAResourceID diff --git a/tools/generator-go-sdk/internal/generator/templater_meta_client.go b/tools/generator-go-sdk/internal/generator/templater_meta_client.go index cb3d5d92156..00726c222ab 100644 --- a/tools/generator-go-sdk/internal/generator/templater_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/templater_meta_client.go @@ -63,6 +63,8 @@ configureFunc(%[1]s.Client) %[3]s import ( + "github.com/hashicorp/go-azure-sdk/sdk/client" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments" %[4]s diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index 7edc8316eeb..1cd764babb9 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -467,9 +467,22 @@ func (c methodsPandoraTemplater) argumentsTemplateForMethod(data GeneratorData) arguments := make([]string, 0) if c.operation.ResourceIDName != nil { idName := *c.operation.ResourceIDName - id, ok := data.resourceIds[idName] - if !ok { - return nil, fmt.Errorf("internal error: Resource ID %q was not found", idName) + var id models.ResourceID + if pointer.From(c.operation.ResourceIDNameIsCommonType) { + if data.commonTypesPackageName == nil { + return nil, fmt.Errorf("internal error: Common Type Resource ID %q encountered, but `commonTypesPackageName` was nil", idName) + } + var ok bool + if id, ok = data.commonTypes.ResourceIDs[idName]; !ok { + return nil, fmt.Errorf("internal error: Common Type Resource ID %q was not found", idName) + } + + idName = fmt.Sprintf("%s.%s", *data.commonTypesPackageName, idName) + } else { + var ok bool + if id, ok = data.resourceIds[idName]; !ok { + return nil, fmt.Errorf("internal error: Resource ID %q was not found", idName) + } } if id.CommonIDAlias != nil { idName = fmt.Sprintf("commonids.%sId", *id.CommonIDAlias) diff --git a/tools/generator-go-sdk/internal/generator/templater_readme.go b/tools/generator-go-sdk/internal/generator/templater_readme.go index b4cfa44960d..4e060b98e85 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme.go @@ -8,6 +8,7 @@ import ( "sort" "strings" + "github.com/hashicorp/go-azure-helpers/lang/pointer" "github.com/hashicorp/pandora/tools/data-api-sdk/v1/helpers" "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" ) @@ -109,9 +110,23 @@ func (r readmeTemplater) exampleUsageForOperation(packageName, clientName, opera } func (r readmeTemplater) resourceIdInitialization(operation models.SDKOperation, data GeneratorData) (*string, error) { - resourceId, ok := data.resourceIds[*operation.ResourceIDName] - if !ok { - return nil, fmt.Errorf("resource id %q was not found", *operation.ResourceIDName) + var resourceId models.ResourceID + idName := *operation.ResourceIDName + if pointer.From(operation.ResourceIDNameIsCommonType) { + if data.commonTypesPackageName == nil { + return nil, fmt.Errorf("internal error: Common Type Resource ID %q encountered, but `commonTypesPackageName` was nil", idName) + } + var ok bool + if resourceId, ok = data.commonTypes.ResourceIDs[idName]; !ok { + return nil, fmt.Errorf("internal error: Common Type Resource ID %q was not found", idName) + } + + idName = fmt.Sprintf("%s.%s", *data.commonTypesPackageName, idName) + } else { + var ok bool + if resourceId, ok = data.resourceIds[idName]; !ok { + return nil, fmt.Errorf("internal error: Resource ID %q was not found", idName) + } } resourceIdPackageName := data.packageName From 9490e9ee945310fd902142fd1c2fdc40aa56e951 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 2 Aug 2024 18:40:01 +0100 Subject: [PATCH 026/134] importer-msgraph-metadata: improve service translation, ensure ReferenceNameIsCommonType is set for model fields --- .../repository/internal/stages/models.go | 7 +- .../repository/save_service.go | 9 +- .../components/parser/types.go | 21 ++-- .../internal/pipeline/pipeline.go | 67 ++-------- .../internal/pipeline/run_importer.go | 117 ++++++++++++++---- ...e_resources.go => task_parse_resources.go} | 4 + .../task_parse_service_resourceids.go | 12 -- .../pipeline/task_persist_common_types.go | 4 +- .../internal/pipeline/task_persist_service.go | 24 ++-- .../pipeline/task_translate_service.go | 60 +++++---- .../internal/pipeline/translate_models.go | 13 +- 11 files changed, 177 insertions(+), 161 deletions(-) rename tools/importer-msgraph-metadata/internal/pipeline/{task_parse_service_resources.go => task_parse_resources.go} (99%) delete mode 100644 tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go diff --git a/tools/data-api-repository/repository/internal/stages/models.go b/tools/data-api-repository/repository/internal/stages/models.go index 9c2c07303a6..baa6d5bab43 100644 --- a/tools/data-api-repository/repository/internal/stages/models.go +++ b/tools/data-api-repository/repository/internal/stages/models.go @@ -22,6 +22,9 @@ type ModelsStage struct { // APIResource specifies the APIResource within the APIVersion where the Models exist. APIResource string + // CommonTypesForThisAPIVersion specifies the known CommonTypes for this APIVersion. + CommonTypesForThisAPIVersion sdkModels.CommonTypes + // Constants specifies the map of Constant Name (key) to SDKConstant (value) which should be // persisted. Constants map[string]sdkModels.SDKConstant @@ -50,8 +53,8 @@ func (g ModelsStage) Generate(input *helpers.FileSystem, logger hclog.Logger) er Constants: g.Constants, Models: g.Models, ResourceIds: map[string]sdkModels.ResourceID{}, - CommonTypeConstants: make(map[string]sdkModels.SDKConstant), - CommonTypeModels: make(map[string]sdkModels.SDKModel), + CommonTypeConstants: g.CommonTypesForThisAPIVersion.Constants, + CommonTypeModels: g.CommonTypesForThisAPIVersion.Models, } mapped, err := transforms.MapSDKModelToRepository(modelName, modelValue, parent, knownData) diff --git a/tools/data-api-repository/repository/save_service.go b/tools/data-api-repository/repository/save_service.go index 33122ee3dbf..4299f6d9401 100644 --- a/tools/data-api-repository/repository/save_service.go +++ b/tools/data-api-repository/repository/save_service.go @@ -71,10 +71,11 @@ func (r *repositoryImpl) SaveService(opts SaveServiceOptions) error { }) items = append(items, stages.ModelsStage{ - APIVersion: apiVersion, - APIResource: apiResourceName, - Constants: apiResourceDetails.Constants, - Models: apiResourceDetails.Models, + APIVersion: apiVersion, + APIResource: apiResourceName, + CommonTypesForThisAPIVersion: commonTypesForThisApiVersion, + Constants: apiResourceDetails.Constants, + Models: apiResourceDetails.Models, }) items = append(items, stages.OperationsStage{ diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 7c9ea68c815..f31f9c1bca7 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -49,12 +49,15 @@ func (m Models) Found(modelName string) bool { } // MergeDependants inspects the named model in m, then traverses allModels and appends any dependant models to m, recursively -func (m Models) MergeDependants(allModels Models, modelName string) error { +func (m Models) MergeDependants(allModels Models, modelName string, includeCommon bool) error { if !allModels.Found(modelName) { return fmt.Errorf("model not found: %q", modelName) } if _, ok := m[modelName]; !ok { + if !includeCommon && allModels[modelName].Common { + return nil + } m[modelName] = allModels[modelName] } @@ -71,7 +74,7 @@ func (m Models) MergeDependants(allModels Models, modelName string) error { return fmt.Errorf("dependant model not found: %q", modelName) } - if err := m.MergeDependants(allModels, *field.ModelName); err != nil { + if err := m.MergeDependants(allModels, *field.ModelName, includeCommon); err != nil { return err } } @@ -178,9 +181,10 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj } return &sdkModels.SDKObjectDefinition{ - NestedItem: nil, - ReferenceName: f.ModelName, - Type: sdkModels.ReferenceSDKObjectDefinitionType, + NestedItem: nil, + ReferenceName: f.ModelName, + ReferenceNameIsCommonType: pointer.To(models[*f.ModelName].Common), + Type: sdkModels.ReferenceSDKObjectDefinitionType, }, nil case DataTypeArray: @@ -191,9 +195,10 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj return &sdkModels.SDKObjectDefinition{ NestedItem: &sdkModels.SDKObjectDefinition{ - NestedItem: nil, - ReferenceName: f.ModelName, - Type: sdkModels.ReferenceSDKObjectDefinitionType, + NestedItem: nil, + ReferenceName: f.ModelName, + ReferenceNameIsCommonType: pointer.To(models[*f.ModelName].Common), + Type: sdkModels.ReferenceSDKObjectDefinitionType, }, ReferenceName: nil, Type: sdkModels.ListSDKObjectDefinitionType, diff --git a/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go b/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go index 2a1e64680d7..d13cf8a3e7a 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go @@ -4,24 +4,21 @@ package pipeline import ( - "fmt" - - "github.com/davecgh/go-spew/spew" "github.com/getkin/kin-openapi/openapi3" "github.com/hashicorp/pandora/tools/data-api-repository/repository" - sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) type pipeline struct { - apiVersion string - commonTypesForVersion sdkModels.CommonTypes - repo repository.Repository - metadataGitSha string - outputDirectory string - resourceIds parser.ResourceIds - spec *openapi3.T + apiVersion string + constants parser.Constants + repo repository.Repository + metadataGitSha string + models parser.Models + outputDirectory string + resources map[string]parser.Resources + resourceIds parser.ResourceIds + spec *openapi3.T } type pipelineForService struct { @@ -35,49 +32,3 @@ func (p pipeline) ForService(serviceName string) pipelineForService { service: serviceName, } } - -func (p pipelineForService) RunImport(serviceTags []string, models parser.Models, constants parser.Constants) error { - //logging.Infof(fmt.Sprintf("Parsing resource IDs for %q", p.service)) - //resourceIds, err := p.parseResourceIDs() - //if err != nil { - // return err - //} - - logging.Infof(fmt.Sprintf("Parsing resources for %q", p.service)) - resources, err := p.parseResources(p.resourceIds, models, constants) - if err != nil { - return err - } - if len(resources) == 0 { - return nil - } - - // Consistency checks for discovered resources - for resourceName, resource := range resources { - if resource == nil { - return fmt.Errorf("nil resource named %q was encountered for %q", resourceName, p.service) - } - if resource.Category == "" { - path := "(no path)" - if len(resource.Paths) > 0 { - path = resource.Paths[0].ID() - } - logging.Warnf(spew.Sprintf("Resource with no category was encountered for %q at %q: %#v", p.service, path, *resource)) - } - } - - sdkServices, err := p.translateServiceToDataApiSdkTypes(models, constants, resources) - if err != nil { - return err - } - - commonTypes := map[string]sdkModels.CommonTypes{ - p.apiVersion: p.commonTypesForVersion, - } - - if err = p.persistApiDefinitions(*sdkServices, commonTypes); err != nil { - return err - } - - return nil -} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go b/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go index 45903115648..f231371fae6 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go @@ -7,6 +7,7 @@ import ( "fmt" "path/filepath" + "github.com/davecgh/go-spew/spew" "github.com/getkin/kin-openapi/openapi3" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" @@ -39,48 +40,39 @@ func runImporter(input RunInput, metadataGitSha string) error { } func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha string, config *services.Config) error { + var err error + + p := &pipeline{ + apiVersion: apiVersion, + metadataGitSha: metadataGitSha, + outputDirectory: input.OutputDirectory, + resources: make(map[string]parser.Resources), + repo: input.Repo, + } + logging.Infof(fmt.Sprintf("Loading OpenAPI3 definitions for API version %q", apiVersion)) - spec, err := openapi3.NewLoader().LoadFromFile(filepath.Join(input.MetadataDirectory, openApiFile)) + p.spec, err = openapi3.NewLoader().LoadFromFile(filepath.Join(input.MetadataDirectory, openApiFile)) if err != nil { return err } logging.Infof(fmt.Sprintf("Parsing models and constants...")) - models, constants, err := parser.Common(spec.Components.Schemas) + p.models, p.constants, err = parser.Common(p.spec.Components.Schemas) if err != nil { return err } logging.Infof(fmt.Sprintf("Parsing resource IDs...")) - resourceIds, err := parser.ParseResourceIDs(spec.Paths, nil) - if err != nil { - return err - } - - commonTypesForApiVersion, err := translateModelsToDataApiSdkTypes(models, constants, resourceIds) + p.resourceIds, err = parser.ParseResourceIDs(p.spec.Paths, nil) if err != nil { return err } - serviceTags, err := tags.Parse(spec.Tags) + serviceTags, err := tags.Parse(p.spec.Tags) if err != nil { return err } - p := &pipeline{ - apiVersion: apiVersion, - commonTypesForVersion: *commonTypesForApiVersion, - metadataGitSha: metadataGitSha, - outputDirectory: input.OutputDirectory, - resourceIds: resourceIds, - repo: input.Repo, - spec: spec, - } - - if err = p.PersistCommonTypesDefinitions(); err != nil { - return err - } - for _, service := range config.Services { for _, version := range service.Available { if version == apiVersion { @@ -113,7 +105,7 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha logging.Infof(fmt.Sprintf("Importing service %q for API version %q", service.Name, version)) - if err = p.ForService(service.Directory).RunImport(serviceTags[service.Directory], models, constants); err != nil { + if err = p.ForService(service.Directory).RunImport(); err != nil { return err } @@ -122,5 +114,82 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } } + // Determine which resource IDs were actually used in resources + usedResourceIds := make(map[string]parser.ResourceId) + for _, resources := range p.resources { + for _, resource := range resources { + for _, operation := range resource.Operations { + if operation.ResourceId != nil { + usedResourceIds[operation.ResourceId.Name] = *operation.ResourceId + } + } + } + } + resourceIds := make(parser.ResourceIds, 0, len(usedResourceIds)) + for _, resourceId := range usedResourceIds { + resourceIds = append(resourceIds, &resourceId) + } + + commonTypesForApiVersion, err := translateCommonTypesToDataApiSdkTypes(p.models, p.constants, resourceIds) + if err != nil { + return err + } + + for service := range p.resources { + if err = p.ForService(service).PersistDefinitions(*commonTypesForApiVersion); err != nil { + return err + } + } + + if err = p.PersistCommonTypesDefinitions(*commonTypesForApiVersion); err != nil { + return err + } + + return nil +} + +func (p pipelineForService) RunImport() error { + logging.Infof(fmt.Sprintf("Parsing resources for %q", p.service)) + resources, err := p.parseResources(p.resourceIds, p.models, p.constants) + if err != nil { + return err + } + if len(resources) == 0 { + return nil + } + + p.resources[p.service] = resources + + // Consistency checks for discovered resources + for resourceName, resource := range resources { + if resource == nil { + return fmt.Errorf("nil resource named %q was encountered for %q", resourceName, p.service) + } + if resource.Category == "" { + path := "(no path)" + if len(resource.Paths) > 0 { + path = resource.Paths[0].ID() + } + logging.Warnf(spew.Sprintf("Resource with no category was encountered for %q at %q: %#v", p.service, path, *resource)) + } + } + + return nil +} + +func (p pipelineForService) PersistDefinitions(commonTypesForVersion sdkModels.CommonTypes) error { + sdkService, err := p.translateServiceToDataApiSdkTypes() + if err != nil { + return err + } + + commonTypes := map[string]sdkModels.CommonTypes{ + p.apiVersion: commonTypesForVersion, + } + + if err = p.persistApiDefinitions(*sdkService, commonTypes); err != nil { + return err + } + return nil } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go similarity index 99% rename from tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resources.go rename to tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index e33cfd1dbd1..6567b1b981f 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -32,6 +32,10 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } + if skip { + continue + } + parsedPath := parser.NewResourceId(path, operationTags) lastSegment := parsedPath.Segments[len(parsedPath.Segments)-1] diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go deleted file mode 100644 index 264b614f228..00000000000 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_service_resourceids.go +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package pipeline - -import ( - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" -) - -func (p pipelineForService) parseResourceIDs() (resourceIds parser.ResourceIds, err error) { - return parser.ParseResourceIDs(p.spec.Paths, &p.service) -} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go index 07fb3edf7e6..64d046ea11f 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_common_types.go @@ -11,11 +11,11 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) -func (p pipeline) PersistCommonTypesDefinitions() error { +func (p pipeline) PersistCommonTypesDefinitions(commonTypesForVersion sdkModels.CommonTypes) error { logging.Infof("Persisting Common Types Definitions..") commonTypes := map[string]sdkModels.CommonTypes{ - p.apiVersion: p.commonTypesForVersion, + p.apiVersion: commonTypesForVersion, } opts := repository.SaveCommonTypesOptions{ diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go index e8658b81214..843b4c2d29c 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_persist_service.go @@ -12,21 +12,19 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) -func (p pipelineForService) persistApiDefinitions(sdkServices map[string]sdkModels.Service, commonTypes map[string]sdkModels.CommonTypes) error { - for serviceName, service := range sdkServices { - logging.Infof(fmt.Sprintf("Persisting API Definitions for Service %q..", serviceName)) +func (p pipelineForService) persistApiDefinitions(sdkService sdkModels.Service, commonTypes map[string]sdkModels.CommonTypes) error { + logging.Infof(fmt.Sprintf("Persisting API Definitions for Service %q..", sdkService.Name)) - opts := repository.SaveServiceOptions{ - CommonTypes: commonTypes, - Service: service, - ServiceName: serviceName, - SourceCommitSHA: pointer.To(p.metadataGitSha), - SourceDataOrigin: sdkModels.MicrosoftGraphMetaDataSourceDataOrigin, - } + opts := repository.SaveServiceOptions{ + CommonTypes: commonTypes, + Service: sdkService, + ServiceName: sdkService.Name, + SourceCommitSHA: pointer.To(p.metadataGitSha), + SourceDataOrigin: sdkModels.MicrosoftGraphMetaDataSourceDataOrigin, + } - if err := p.repo.SaveService(opts); err != nil { - return fmt.Errorf("persisting Data API Definitions for Service %q: %+v", serviceName, err) - } + if err := p.repo.SaveService(opts); err != nil { + return fmt.Errorf("persisting Data API Definitions for Service %q: %+v", sdkService.Name, err) } return nil diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index 7652caaf5c8..a6fd177c657 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -14,27 +14,23 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" ) -func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, constants parser.Constants, resources parser.Resources) (*map[string]sdkModels.Service, error) { - sdkServices := make(map[string]sdkModels.Service) +func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Service, error) { + sdkService := sdkModels.Service{ + APIVersions: make(map[string]sdkModels.APIVersion), + Generate: true, + Name: normalize.CleanName(p.service), + ResourceProvider: nil, + TerraformDefinition: nil, + } - for _, resource := range resources { + for _, resource := range p.resources[p.service] { if blacklisted.Resource(resource) { continue } - // First scaffold all discovered services, version(s) and resources (categories) - if _, ok := sdkServices[resource.Service]; !ok { - sdkServices[resource.Service] = sdkModels.Service{ - APIVersions: make(map[string]sdkModels.APIVersion), - Generate: true, - Name: resource.Service, - ResourceProvider: nil, - TerraformDefinition: nil, - } - } - - if _, ok := sdkServices[resource.Service].APIVersions[resource.Version]; !ok { - sdkServices[resource.Service].APIVersions[resource.Version] = sdkModels.APIVersion{ + // First scaffold the version and resources (categories) + if _, ok := sdkService.APIVersions[resource.Version]; !ok { + sdkService.APIVersions[resource.Version] = sdkModels.APIVersion{ APIVersion: resource.Version, Generate: true, Preview: versions.IsPreview(resource.Version), @@ -43,8 +39,8 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta } } - if _, ok := sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category]; !ok { - sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category] = sdkModels.APIResource{ + if _, ok := sdkService.APIVersions[resource.Version].Resources[resource.Category]; !ok { + sdkService.APIVersions[resource.Version].Resources[resource.Category] = sdkModels.APIResource{ Constants: make(map[string]sdkModels.SDKConstant), Models: make(map[string]sdkModels.SDKModel), Operations: make(map[string]sdkModels.SDKOperation), @@ -74,16 +70,16 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta requestObjectIsCommonType := true if operation.RequestModel != nil { - if !models.Found(*operation.RequestModel) { + if !p.models.Found(*operation.RequestModel) { return nil, fmt.Errorf("request model %q was not found for operation: %s", *operation.RequestModel, operation.Name) } - if model := models[*operation.RequestModel]; !model.IsValid() { + if model := p.models[*operation.RequestModel]; !model.IsValid() { return nil, fmt.Errorf("request model %q was invalid for operation: %s", *operation.RequestModel, operation.Name) } else if !model.Common { requestObjectIsCommonType = false - if err := serviceModels.MergeDependants(models, *operation.RequestModel); err != nil { + if err := serviceModels.MergeDependants(p.models, *operation.RequestModel, false); err != nil { return nil, err } } @@ -106,18 +102,18 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta if response.Type != nil && *response.Type == parser.DataTypeModel && response.ModelName != nil { modelName := *response.ModelName - if !models.Found(modelName) { + if !p.models.Found(modelName) { return nil, fmt.Errorf("response model %q was not found for operation: %s", modelName, operation.Name) } - model := models[modelName] + model := p.models[modelName] if !model.IsValid() { return nil, fmt.Errorf("response model %q was invalid for operation: %s", modelName, operation.Name) } else if !model.Common { responseObjectIsCommonType = false - if err := serviceModels.MergeDependants(models, modelName); err != nil { + if err := serviceModels.MergeDependants(p.models, modelName, false); err != nil { return nil, err } } @@ -129,12 +125,12 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta responseObjectIsCommonType = true modelName = *value.ModelName - if !models.Found(modelName) { + if !p.models.Found(modelName) { return nil, fmt.Errorf("nested response model %q was not found for operation: %s", modelName, operation.Name) } else if !model.Common { responseObjectIsCommonType = false - if err := serviceModels.MergeDependants(models, modelName); err != nil { + if err := serviceModels.MergeDependants(p.models, modelName, false); err != nil { return nil, err } } @@ -163,7 +159,7 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta } } - sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category].Operations[operation.Name] = sdkModels.SDKOperation{ + sdkService.APIVersions[resource.Version].Resources[resource.Category].Operations[operation.Name] = sdkModels.SDKOperation{ ContentType: contentType, ExpectedStatusCodes: expectedStatusCodes, FieldContainingPaginationDetails: operation.PaginationField, @@ -179,24 +175,24 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta } for modelName, model := range serviceModels { - sdkModel, err := model.DataApiSdkModel(models) + sdkModel, err := model.DataApiSdkModel(p.models) if err != nil { return nil, err } - sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category].Models[modelName] = *sdkModel + sdkService.APIVersions[resource.Version].Resources[resource.Category].Models[modelName] = *sdkModel for _, field := range model.Fields { if field.ConstantName != nil { constantValues := make(map[string]string) - if constant, ok := constants[*field.ConstantName]; ok { + if constant, ok := p.constants[*field.ConstantName]; ok { for _, value := range constant.Enum { constantValues[normalize.CleanName(value)] = value } } // TODO support additional types, if there are any - sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category].Constants[*field.ConstantName] = sdkModels.SDKConstant{ + sdkService.APIVersions[resource.Version].Resources[resource.Category].Constants[*field.ConstantName] = sdkModels.SDKConstant{ Type: sdkModels.StringSDKConstantType, Values: constantValues, } @@ -205,5 +201,5 @@ func (p pipeline) translateServiceToDataApiSdkTypes(models parser.Models, consta } } - return &sdkServices, nil + return &sdkService, nil } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go index 350c8ea62ba..8ae5de0cc27 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go @@ -11,18 +11,19 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" ) -func translateModelsToDataApiSdkTypes(models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) (*sdkModels.CommonTypes, error) { +func translateCommonTypesToDataApiSdkTypes(models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) (*sdkModels.CommonTypes, error) { sdkConstantsMap := make(map[string]sdkModels.SDKConstant) sdkModelsMap := make(map[string]sdkModels.SDKModel) sdkResourceIdsMap := make(map[string]sdkModels.ResourceID) for modelName, model := range models { - sdkModel, err := model.DataApiSdkModel(models) - if err != nil { - return nil, err + if model.Common { + sdkModel, err := model.DataApiSdkModel(models) + if err != nil { + return nil, err + } + sdkModelsMap[modelName] = *sdkModel } - sdkModelsMap[modelName] = *sdkModel - } for constantName, constant := range constants { From e23cfda232d89e8f88f359cc445003a98bbb537d Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 4 Aug 2024 00:57:55 +0100 Subject: [PATCH 027/134] data-api: support for native odata options --- .../repository/internal/models/operations.go | 3 +++ .../sdk_operation_object_definition.go | 21 ++++++++++++------- .../transforms/sdk_operation_option.go | 2 ++ .../golang_type_for_sdk_object_definition.go | 5 +---- .../v1/models/sdk_operation_option.go | 3 +++ 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/tools/data-api-repository/repository/internal/models/operations.go b/tools/data-api-repository/repository/internal/models/operations.go index 13d52688dc8..7114e73a658 100644 --- a/tools/data-api-repository/repository/internal/models/operations.go +++ b/tools/data-api-repository/repository/internal/models/operations.go @@ -52,6 +52,9 @@ type Option struct { // (e.g. `If-Match`, `x-ms-client-request-id`) HeaderName *string `json:"headerName,omitempty"` + // ODataFieldName specifies the name for the OData query string parameter associated with this Option. + ODataFieldName *string `json:"odataFieldName,omitempty"` + // Optional specifies whether this Option could be specified in the Request // NOTE: this is intentionally not inferred from Required to allow retrieving HTTP Header // and QueryString values in the Response in the future. diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go b/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go index ba3b75e491d..88e1d1cf707 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go @@ -5,6 +5,7 @@ package transforms import ( "fmt" + "strings" "github.com/hashicorp/pandora/tools/data-api-repository/repository/internal/helpers" repositoryModels "github.com/hashicorp/pandora/tools/data-api-repository/repository/internal/models" @@ -24,13 +25,15 @@ func mapSDKOperationOptionObjectDefinitionFromRepository(input repositoryModels. } if input.ReferenceName != nil { - isConstant := knownData.ConstantExists(*input.ReferenceName) - isModel := knownData.ModelExists(*input.ReferenceName) - if !isConstant && !isModel { - return nil, fmt.Errorf("the Reference %q was not found as either a Constant or a Model", *input.ReferenceName) - } - if isConstant && isModel { - return nil, fmt.Errorf("the Reference %q was found as both a Constant or a Model", *input.ReferenceName) + if !strings.HasPrefix(*input.ReferenceName, "odata.") { + isConstant := knownData.ConstantExists(*input.ReferenceName) + isModel := knownData.ModelExists(*input.ReferenceName) + if !isConstant && !isModel { + return nil, fmt.Errorf("the Reference %q was not found as either a Constant or a Model", *input.ReferenceName) + } + if isConstant && isModel { + return nil, fmt.Errorf("the Reference %q was found as both a Constant or a Model", *input.ReferenceName) + } } output.ReferenceName = input.ReferenceName @@ -93,6 +96,10 @@ func validateSDKOperationOptionObjectDefinition(input repositoryModels.OptionObj return fmt.Errorf("a Reference must be specified for a %q type but didn't get one", string(input.Type)) } + if strings.HasPrefix(*input.ReferenceName, "odata.") { + return nil + } + isConstant := knownData.ConstantExists(*input.ReferenceName) isModel := knownData.ModelExists(*input.ReferenceName) if !isConstant && !isModel { diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_operation_option.go b/tools/data-api-repository/repository/internal/transforms/sdk_operation_option.go index 36dfa7d5b02..5af0009d20f 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_operation_option.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_operation_option.go @@ -19,6 +19,7 @@ func mapSDKOperationOptionFromRepository(input repositoryModels.Option, knownDat return &sdkModels.SDKOperationOption{ HeaderName: input.HeaderName, + ODataFieldName: input.ODataFieldName, QueryStringName: input.QueryString, ObjectDefinition: *objectDefinition, Required: input.Required, @@ -33,6 +34,7 @@ func mapSDKOperationOptionToRepository(fieldName string, input sdkModels.SDKOper option := repositoryModels.Option{ HeaderName: input.HeaderName, + ODataFieldName: input.ODataFieldName, QueryString: input.QueryStringName, Field: fieldName, ObjectDefinition: *objectDefinition, diff --git a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go index 0ea495b912e..35aa1ae18d9 100644 --- a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go +++ b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go @@ -60,10 +60,7 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa out := *input.ReferenceName if golangPackageName != nil { out = fmt.Sprintf("%s.%s", *golangPackageName, out) - } else if input.ReferenceNameIsCommonType != nil && *input.ReferenceNameIsCommonType { - if commonTypesPackageName == nil { - return nil, fmt.Errorf("ReferenceName %q is indicated to be a common type, but common types package name was not specified", *input.ReferenceName) - } + } else if input.ReferenceNameIsCommonType != nil && *input.ReferenceNameIsCommonType && commonTypesPackageName != nil { out = fmt.Sprintf("%s.%s", *commonTypesPackageName, out) } diff --git a/tools/data-api-sdk/v1/models/sdk_operation_option.go b/tools/data-api-sdk/v1/models/sdk_operation_option.go index 5da98662f69..9219a169ac9 100644 --- a/tools/data-api-sdk/v1/models/sdk_operation_option.go +++ b/tools/data-api-sdk/v1/models/sdk_operation_option.go @@ -9,6 +9,9 @@ type SDKOperationOption struct { // HeaderName specifies the name of the HTTP Header associated with this Option. HeaderName *string `json:"headerName,omitempty"` + // ODataFieldName specifies the name for the OData query string parameter associated with this Option. + ODataFieldName *string `json:"odataFieldName,omitempty"` + // QueryStringName specifies the name for the QueryString key associated with this Option. QueryStringName *string `json:"queryStringName,omitempty"` From ee6fb32fcdad6bfc4e45b016e4a2498955bece39 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 4 Aug 2024 00:59:11 +0100 Subject: [PATCH 028/134] importer-msgraph-metadata: handle bad models by ignoring them, support odata, query and header options --- .../components/normalize/normalize.go | 3 + .../components/parser/resourceids.go | 5 +- .../components/parser/resources.go | 60 ++++++++ .../components/parser/types.go | 55 ++++++- .../components/tags/tags.go | 5 +- .../internal/pipeline/run_importer.go | 21 ++- .../internal/pipeline/task_cleanup_models.go | 31 ++++ .../internal/pipeline/task_parse_resources.go | 46 +++++- ...ate_models.go => task_translate_models.go} | 16 +- .../pipeline/task_translate_service.go | 137 +++++++++++++++++- tools/importer-msgraph-metadata/main.go | 4 +- 11 files changed, 357 insertions(+), 26 deletions(-) create mode 100644 tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go rename tools/importer-msgraph-metadata/internal/pipeline/{translate_models.go => task_translate_models.go} (73%) diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize.go b/tools/importer-msgraph-metadata/components/normalize/normalize.go index 110f26c5cdf..171300cc503 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize.go +++ b/tools/importer-msgraph-metadata/components/normalize/normalize.go @@ -78,6 +78,9 @@ func CleanName(name string) string { // known issue where CloudPC appears with inconsistent casing name = regexp.MustCompile("(?i)CloudPc").ReplaceAllString(name, "CloudPC") + // Orderby should be OrderBy + name = regexp.MustCompile("^Orderby").ReplaceAllString(name, "OrderBy") + return name } diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 936e1a8ef4b..5ccb7c96fba 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -28,7 +28,7 @@ type ResourceIdMatch struct { Remainder *ResourceId } -// MatchIdOrAncestor returns a ResourceIdMatch containing a matching/ancestor ResourceId and/or a remaininder value, or nil if no +// MatchIdOrAncestor returns a ResourceIdMatch containing a matching/ancestor ResourceId and/or a remainder value, or nil if no // match/ancestor was found. A match is a ResourceId that represents the same path, and an ancestor is any ResourceId that // represents a shorter matching path. Where multiple ancestors are found, the most granular (i.e. the longest) ancestor is returned. // @@ -445,6 +445,9 @@ func ParseResourceIDs(paths openapi3.Paths, serviceName *string) (resourceIds Re } id := NewResourceId(path, operationTags) + if len(id.Segments) == 0 { + continue + } segmentsLastIndex := len(id.Segments) - 1 lastSegment := id.Segments[segmentsLastIndex] diff --git a/tools/importer-msgraph-metadata/components/parser/resources.go b/tools/importer-msgraph-metadata/components/parser/resources.go index 5d0cdf94885..755ea85ff10 100644 --- a/tools/importer-msgraph-metadata/components/parser/resources.go +++ b/tools/importer-msgraph-metadata/components/parser/resources.go @@ -4,7 +4,10 @@ package parser import ( + "fmt" "net/http" + + sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" ) type Resource struct { @@ -23,12 +26,69 @@ type Operation struct { ResourceId *ResourceId UriSuffix *string RequestModel *string + RequestHeaders *Headers + RequestParams *Params RequestType *DataType Responses Responses PaginationField *string Tags []string } +type Header struct { + Name string + Type *DataType +} + +func (h Header) DataApiSdkObjectDefinition() (*sdkModels.SDKOperationOptionObjectDefinition, error) { + if h.Type == nil { + return nil, fmt.Errorf("param %q has no Type", h.Name) + } + + return &sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: nil, + ReferenceName: nil, + Type: h.Type.DataApiSdkOperationOptionObjectDefinitionType(), + }, nil +} + +type Headers []Header + +type Param struct { + Name string + Type *DataType + ItemType *DataType +} + +func (p Param) DataApiSdkObjectDefinition() (*sdkModels.SDKOperationOptionObjectDefinition, error) { + if p.Type == nil { + return nil, fmt.Errorf("param %q has no Type", p.Name) + } + + if *p.Type == DataTypeArray { + if p.ItemType != nil { + return &sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: &sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: nil, + ReferenceName: nil, + Type: p.ItemType.DataApiSdkOperationOptionObjectDefinitionType(), + }, + ReferenceName: nil, + Type: sdkModels.ListSDKOperationOptionObjectDefinitionType, + }, nil + } + + return nil, nil + } + + return &sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: nil, + ReferenceName: nil, + Type: p.Type.DataApiSdkOperationOptionObjectDefinitionType(), + }, nil +} + +type Params []Param + type Response struct { Status int ContentType *string diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index f31f9c1bca7..62c33c5205e 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -11,6 +11,7 @@ import ( "github.com/hashicorp/go-azure-helpers/lang/pointer" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" "golang.org/x/text/cases" "golang.org/x/text/language" ) @@ -119,7 +120,9 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { } if objectDefinition == nil { - return nil, fmt.Errorf("could not determine SDKObjectDefinition for field: %s", fieldName) + //return nil, fmt.Errorf("could not determine SDKObjectDefinition for field: %s", fieldName) + logging.Warnf("could not determine SDKObjectDefinition for field %q, skipping", fieldName) + continue } sdkFields[fieldName] = sdkModels.SDKField{ @@ -137,6 +140,10 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { } } + if len(sdkFields) == 0 { + return nil, nil + } + // TODO support discriminated types (good example: conditional access named locations) return &sdkModels.SDKModel{ DiscriminatedValue: nil, @@ -176,8 +183,12 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj return nil, fmt.Errorf("field type Model encountered without model name") } - if !models.Found(*f.ModelName) || !models[*f.ModelName].IsValid() { - return nil, fmt.Errorf("field type Model encountered with invalid referenced model") + if !models.Found(*f.ModelName) { + return nil, fmt.Errorf("field type Model encountered with unknown referenced model") + } + + if !models[*f.ModelName].IsValid() { + logging.Warnf("skipping field %q with type Model as the referenced model %q is invalid", f.Title, *f.ModelName) } return &sdkModels.SDKObjectDefinition{ @@ -189,8 +200,12 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj case DataTypeArray: if f.ModelName != nil { - if !models.Found(*f.ModelName) || !models[*f.ModelName].IsValid() { - return nil, fmt.Errorf("field type Array[Model] encountered with invalid referenced model") + if !models.Found(*f.ModelName) { + return nil, fmt.Errorf("field type Array[Model] encountered with unknown referenced model") + } + + if !models[*f.ModelName].IsValid() { + logging.Warnf("skipping field %q with type Array[Model] as the referenced model %q is invalid", f.Title, *f.ModelName) } return &sdkModels.SDKObjectDefinition{ @@ -288,6 +303,27 @@ func (ft DataType) DataApiSdkObjectDefinitionType() sdkModels.SDKObjectDefinitio return sdkModels.StringSDKObjectDefinitionType } +func (ft DataType) DataApiSdkOperationOptionObjectDefinitionType() sdkModels.SDKOperationOptionObjectDefinitionType { + switch ft { + case DataTypeString, DataTypeBase64, DataTypeDuration, DataTypeUuid: + return sdkModels.StringSDKOperationOptionObjectDefinitionType + case DataTypeInteger64, DataTypeInteger32, DataTypeInteger16, DataTypeInteger8, DataTypeIntegerUnsigned64, + DataTypeIntegerUnsigned32, DataTypeIntegerUnsigned16, DataTypeIntegerUnsigned8: + return sdkModels.IntegerSDKOperationOptionObjectDefinitionType + case DataTypeFloat64, DataTypeFloat32: + return sdkModels.FloatSDKOperationOptionObjectDefinitionType + case DataTypeBool: + return sdkModels.BooleanSDKOperationOptionObjectDefinitionType + case DataTypeDate, DataTypeDateTime, DataTypeTime: + return sdkModels.StringSDKOperationOptionObjectDefinitionType + case DataTypeBinary: + return sdkModels.StringSDKOperationOptionObjectDefinitionType + } + + // Fall back to string where the type is not known + return sdkModels.StringSDKOperationOptionObjectDefinitionType +} + // FieldType parses the schemaType and schemaFormat from the OpenAPI spec for a given field, and returns the appropriate DataType func FieldType(schemaType, schemaFormat string, hasModel bool) *DataType { var ret DataType @@ -696,10 +732,19 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta } } + if field.Type == nil { + logging.Warnf("skipping field %q in model %q because Type is nil", name, field.Title) + continue + } + model.Fields[normalize.CleanName(jsonField)] = &field } } + if !model.IsValid() { + delete(models, name) + } + return models, constants } diff --git a/tools/importer-msgraph-metadata/components/tags/tags.go b/tools/importer-msgraph-metadata/components/tags/tags.go index ad416472107..e8c6a6a4b7b 100644 --- a/tools/importer-msgraph-metadata/components/tags/tags.go +++ b/tools/importer-msgraph-metadata/components/tags/tags.go @@ -5,13 +5,14 @@ package tags import ( "fmt" - "github.com/getkin/kin-openapi/openapi3" "strings" + + "github.com/getkin/kin-openapi/openapi3" ) type ServiceTags map[string][]string -// parsetags returns a ServiceTags (map[string][]string) for the provided openapi3.Tags. Note that the resulting ServiceTags +// Parse returns a ServiceTags (map[string][]string) for the provided openapi3.Tags. Note that the resulting ServiceTags // item values are not capitalized, singularized or otherwise cleaned up. func Parse(tags openapi3.Tags) (services ServiceTags, err error) { services = make(map[string][]string, 0) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go b/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go index f231371fae6..0fcc6c19cde 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go @@ -50,19 +50,24 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha repo: input.Repo, } - logging.Infof(fmt.Sprintf("Loading OpenAPI3 definitions for API version %q", apiVersion)) + logging.Infof("Loading OpenAPI3 definitions for API version %q", apiVersion) p.spec, err = openapi3.NewLoader().LoadFromFile(filepath.Join(input.MetadataDirectory, openApiFile)) if err != nil { return err } - logging.Infof(fmt.Sprintf("Parsing models and constants...")) + logging.Infof("Parsing models and constants...") p.models, p.constants, err = parser.Common(p.spec.Components.Schemas) if err != nil { return err } - logging.Infof(fmt.Sprintf("Parsing resource IDs...")) + logging.Infof("Cleaning up models...") + if err = p.cleanupModels(); err != nil { + return err + } + + logging.Infof("Parsing resource IDs...") p.resourceIds, err = parser.ParseResourceIDs(p.spec.Paths, nil) if err != nil { return err @@ -103,7 +108,7 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } } - logging.Infof(fmt.Sprintf("Importing service %q for API version %q", service.Name, version)) + logging.Infof("Importing service %q for API version %q", service.Name, version) if err = p.ForService(service.Directory).RunImport(); err != nil { return err @@ -125,12 +130,12 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } } } - resourceIds := make(parser.ResourceIds, 0, len(usedResourceIds)) + p.resourceIds = make(parser.ResourceIds, 0, len(usedResourceIds)) for _, resourceId := range usedResourceIds { - resourceIds = append(resourceIds, &resourceId) + p.resourceIds = append(p.resourceIds, &resourceId) } - commonTypesForApiVersion, err := translateCommonTypesToDataApiSdkTypes(p.models, p.constants, resourceIds) + commonTypesForApiVersion, err := p.translateCommonTypesToDataApiSdkTypes() if err != nil { return err } @@ -149,7 +154,7 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } func (p pipelineForService) RunImport() error { - logging.Infof(fmt.Sprintf("Parsing resources for %q", p.service)) + logging.Infof("Parsing resources for %q", p.service) resources, err := p.parseResources(p.resourceIds, p.models, p.constants) if err != nil { return err diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go b/tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go new file mode 100644 index 00000000000..c81c6617e6b --- /dev/null +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go @@ -0,0 +1,31 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package pipeline + +func (p pipeline) cleanupModels() error { + // First delete all invalid models (i.e. those without fields) + modelsToDelete := make([]string, 0) + for modelName, model := range p.models { + if !model.IsValid() { + modelsToDelete = append(modelsToDelete, modelName) + } + } + + for _, modelName := range modelsToDelete { + delete(p.models, modelName) + } + + // Look for invalid references due to deleted models, and remove them + for _, model := range p.models { + for _, field := range model.Fields { + if field.ModelName != nil { + if !p.models.Found(*field.ModelName) { + field.ModelName = nil + } + } + } + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index 6567b1b981f..aa90c7db510 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -280,7 +280,11 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model // Unique object for this operation modelName = fmt.Sprintf("%sRequest", operationName) models, constants = parser.Schemas(*schema, modelName, models, constants, false) - requestModel = &modelName + + // Only assign requestModel if the parsed model was valid and added + if models.Found(modelName) { + requestModel = &modelName + } break } } @@ -289,6 +293,44 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } + // Determine request options + var requestHeaders *parser.Headers + var requestParams *parser.Params + headers := make(parser.Headers, 0) + params := make(parser.Params, 0) + for _, param := range operation.Parameters { + if param.Value == nil { + continue + } + + result, _ := parser.FlattenSchemaRef(param.Value.Schema, nil) + paramType := parser.FieldType(result.Type, result.Format, false) + + switch param.Value.In { + case "header": + headers = append(headers, parser.Header{ + Name: param.Value.Name, + Type: paramType, + }) + case "query": + var itemType *parser.DataType + if paramType != nil && *paramType == parser.DataTypeArray { + itemType = parser.FieldType(result.Type, result.Format, false) + } + params = append(params, parser.Param{ + Name: param.Value.Name, + Type: paramType, + ItemType: itemType, + }) + } + } + if len(headers) > 0 { + requestHeaders = &headers + } + if len(params) > 0 { + requestParams = ¶ms + } + if operationType == parser.OperationTypeCreate || operationType == parser.OperationTypeUpdate || operationType == parser.OperationTypeCreateUpdate { if resourceId != nil && len(resourceId.Segments) > 0 && resourceId.Segments[len(resourceId.Segments)-1].Value == "$ref" { requestModel = pointer.To("DirectoryObject") @@ -302,6 +344,8 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model ResourceId: resourceId, UriSuffix: uriSuffix, RequestModel: requestModel, + RequestHeaders: requestHeaders, + RequestParams: requestParams, RequestType: requestType, Responses: responses, PaginationField: paginationField, diff --git a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_models.go similarity index 73% rename from tools/importer-msgraph-metadata/internal/pipeline/translate_models.go rename to tools/importer-msgraph-metadata/internal/pipeline/task_translate_models.go index 8ae5de0cc27..9eb554e4bbf 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/translate_models.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_models.go @@ -8,25 +8,29 @@ import ( sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) -func translateCommonTypesToDataApiSdkTypes(models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) (*sdkModels.CommonTypes, error) { +func (p pipeline) translateCommonTypesToDataApiSdkTypes() (*sdkModels.CommonTypes, error) { sdkConstantsMap := make(map[string]sdkModels.SDKConstant) sdkModelsMap := make(map[string]sdkModels.SDKModel) sdkResourceIdsMap := make(map[string]sdkModels.ResourceID) - for modelName, model := range models { + for modelName, model := range p.models { if model.Common { - sdkModel, err := model.DataApiSdkModel(models) + sdkModel, err := model.DataApiSdkModel(p.models) if err != nil { return nil, err } + if sdkModel == nil { + logging.Warnf("skipping invalid model %q as it has no fields", modelName) + continue + } sdkModelsMap[modelName] = *sdkModel } } - for constantName, constant := range constants { + for constantName, constant := range p.constants { constantValues := make(map[string]string) for _, value := range constant.Enum { // prefix constant value names with underscore to prevent naming conflicts with similarly named models in the generated SDK @@ -40,7 +44,7 @@ func translateCommonTypesToDataApiSdkTypes(models parser.Models, constants parse } } - for _, resourceId := range resourceIds { + for _, resourceId := range p.resourceIds { sdkResourceId, err := resourceId.DataApiSdkResourceId() if err != nil { return nil, err diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index a6fd177c657..e1d1c61dfe8 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -5,6 +5,7 @@ package pipeline import ( "fmt" + "strings" "github.com/hashicorp/go-azure-helpers/lang/pointer" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" @@ -12,6 +13,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Service, error) { @@ -95,6 +97,139 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } } + options := make(map[string]sdkModels.SDKOperationOption) + + if operation.RequestHeaders != nil { + for _, header := range *operation.RequestHeaders { + if strings.EqualFold(header.Name, "ConsistencyLevel") { + options[normalize.CleanName(header.Name)] = sdkModels.SDKOperationOption{ + ODataFieldName: &header.Name, + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: nil, + ReferenceName: pointer.To("odata.ConsistencyLevel"), + Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, + }, + } + continue + } + + objectDefinition, err := header.DataApiSdkObjectDefinition() + if err != nil { + return nil, err + } + + if objectDefinition == nil { + logging.Warnf("could not determine SDKOperationOptionObjectDefinition for header %q, skipping", header.Name) + continue + } + + options[normalize.CleanName(header.Name)] = sdkModels.SDKOperationOption{ + HeaderName: &header.Name, + Required: false, + ObjectDefinition: *objectDefinition, + } + } + } + + if operation.RequestParams != nil { + for _, param := range *operation.RequestParams { + switch normalize.CleanName(param.Name) { + case "Count": + options["Count"] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To("Count"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + Type: sdkModels.BooleanSDKOperationOptionObjectDefinitionType, + }, + } + + case "Expand": + options["Expand"] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To("Expand"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: nil, + ReferenceName: pointer.To("odata.Expand"), + Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, + }, + } + + case "Format": + options["Format"] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To("Format"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: nil, + ReferenceName: pointer.To("odata.Format"), + Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, + }, + } + + case "OrderBy": + options["OrderBy"] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To("OrderBy"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: nil, + ReferenceName: pointer.To("odata.OrderBy"), + Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, + }, + } + + case "Select": + options["Select"] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To("Select"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + NestedItem: &sdkModels.SDKOperationOptionObjectDefinition{ + Type: sdkModels.StringSDKOperationOptionObjectDefinitionType, + }, + Type: sdkModels.ListSDKOperationOptionObjectDefinitionType, + }, + } + + case "Filter", "Search": + options[normalize.CleanName(param.Name)] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To(normalize.CleanName(param.Name)), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + Type: sdkModels.StringSDKOperationOptionObjectDefinitionType, + }, + } + + case "Skip", "Top": + // Don't set here, we handle this implicitly for list operations + + default: + objectDefinition, err := param.DataApiSdkObjectDefinition() + if err != nil { + return nil, err + } + + if objectDefinition == nil { + logging.Warnf("could not determine SDKOperationOptionObjectDefinition for param %q, skipping", param.Name) + continue + } + + options[normalize.CleanName(param.Name)] = sdkModels.SDKOperationOption{ + QueryStringName: ¶m.Name, + Required: false, + ObjectDefinition: *objectDefinition, + } + } + } + } + + if operation.Type == parser.OperationTypeList { + options["Top"] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To("Top"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + Type: sdkModels.IntegerSDKOperationOptionObjectDefinitionType, + }, + } + + options["Skip"] = sdkModels.SDKOperationOption{ + ODataFieldName: pointer.To("Skip"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + Type: sdkModels.IntegerSDKOperationOptionObjectDefinitionType, + }, + } + } + var responseObject *sdkModels.SDKObjectDefinition responseObjectIsCommonType := true @@ -165,7 +300,7 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv FieldContainingPaginationDetails: operation.PaginationField, LongRunning: false, Method: operation.Method, - Options: nil, // TODO request options for odata queries etc + Options: options, RequestObject: requestObject, ResourceIDName: resourceIdName, ResourceIDNameIsCommonType: pointer.To(true), diff --git a/tools/importer-msgraph-metadata/main.go b/tools/importer-msgraph-metadata/main.go index ecdc3b884c8..5c07d70c840 100644 --- a/tools/importer-msgraph-metadata/main.go +++ b/tools/importer-msgraph-metadata/main.go @@ -16,7 +16,7 @@ import ( const ( metadataDirectory = "../../submodules/msgraph-metadata" microsoftGraphConfig = "../../config/microsoft-graph.hcl" - openApiFilePattern = "transformed_%s_metadata.xml.yaml" + openApiFilePattern = "openapi/%s/default.yaml" outputDirectory = "../../api-definitions" ) @@ -27,7 +27,7 @@ func main() { } logging.Log = hclog.New(loggingOpts) - c := cli.NewCLI("importer-msgraph-metadata", "0.2.2") + c := cli.NewCLI("importer-msgraph-metadata", "0.3.0") c.Args = os.Args[1:] c.Commands = map[string]cli.CommandFactory{ "import": cmd.NewImportCommand(metadataDirectory, microsoftGraphConfig, openApiFilePattern, outputDirectory), From 0e8e9a928307ec30d8808dc414ce915502c87f0f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 4 Aug 2024 00:59:40 +0100 Subject: [PATCH 029/134] generator-go-sdk: support for generating odata options --- .../internal/generator/templater_methods.go | 16 ++++++++++++++-- .../internal/generator/templater_models.go | 4 ++-- tools/generator-go-sdk/main.go | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index 1cd764babb9..1b9a8ca119f 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -771,6 +771,7 @@ func (c methodsPandoraTemplater) optionsStruct(data GeneratorData) (*string, err } properties := make([]string, 0) + odataAssignments := make([]string, 0) queryStringAssignments := make([]string, 0) headerAssignments := make([]string, 0) @@ -780,6 +781,15 @@ func (c methodsPandoraTemplater) optionsStruct(data GeneratorData) (*string, err return nil, fmt.Errorf("determining golang type name for option %q's ObjectDefinition: %+v", optionName, err) } properties = append(properties, fmt.Sprintf("%s *%s", optionName, *optionType)) + if option.ODataFieldName != nil { + value := fmt.Sprintf("*o.%s", *option.ODataFieldName) + if option.ObjectDefinition.Type == models.IntegerSDKOperationOptionObjectDefinitionType { + value = fmt.Sprintf("int(%s)", value) + } + odataAssignments = append(odataAssignments, fmt.Sprintf(`if o.%[1]s != nil { + out.%[2]s = %[3]s +}`, optionName, *option.ODataFieldName, value)) + } if option.HeaderName != nil { headerAssignments = append(headerAssignments, fmt.Sprintf(`if o.%[1]s != nil { out.Append("%[2]s", fmt.Sprintf("%%v", *o.%[1]s)) @@ -793,6 +803,7 @@ func (c methodsPandoraTemplater) optionsStruct(data GeneratorData) (*string, err } sort.Strings(properties) + sort.Strings(odataAssignments) sort.Strings(headerAssignments) sort.Strings(queryStringAssignments) @@ -813,14 +824,15 @@ func (o %[1]s) ToHeaders() *client.Headers { func (o %[1]s) ToOData() *odata.Query { out := odata.Query{} +%[4]s return &out } func (o %[1]s) ToQuery() *client.QueryParams { out := client.QueryParams{} -%[4]s +%[5]s return &out } -`, optionsStructName, strings.Join(properties, "\n"), strings.Join(headerAssignments, "\n"), strings.Join(queryStringAssignments, "\n")) +`, optionsStructName, strings.Join(properties, "\n"), strings.Join(headerAssignments, "\n"), strings.Join(odataAssignments, "\n"), strings.Join(queryStringAssignments, "\n")) return &out, nil } diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index c37fc2e5d67..fa3a56ebbb7 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -87,7 +87,7 @@ type Raw%[1]sImpl struct { for _, fieldName := range fields { fieldDetails := c.model.Fields[fieldName] fieldTypeName := "FIXME" - fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil) + fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) } @@ -138,7 +138,7 @@ type Raw%[1]sImpl struct { for _, fieldName := range parentFields { fieldDetails := parent.Fields[fieldName] fieldTypeName := "FIXME" - fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, nil) + fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, data.commonTypesPackageName) if err != nil { return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) } diff --git a/tools/generator-go-sdk/main.go b/tools/generator-go-sdk/main.go index 7efa9484a5c..6a59ca747ea 100644 --- a/tools/generator-go-sdk/main.go +++ b/tools/generator-go-sdk/main.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/go-azure-helpers/lang/pointer" "github.com/hashicorp/go-hclog" - v1 "github.com/hashicorp/pandora/tools/data-api-sdk/v1" + "github.com/hashicorp/pandora/tools/data-api-sdk/v1" "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/generator-go-sdk/internal/cmd" "github.com/hashicorp/pandora/tools/generator-go-sdk/internal/logging" From 37645a2df80c5333571727b8606cfb9a228ff73a Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 4 Aug 2024 01:00:48 +0100 Subject: [PATCH 030/134] update to latest msgraph-metadata --- submodules/msgraph-metadata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/msgraph-metadata b/submodules/msgraph-metadata index 7b1feb7cf42..1c4023e9efb 160000 --- a/submodules/msgraph-metadata +++ b/submodules/msgraph-metadata @@ -1 +1 @@ -Subproject commit 7b1feb7cf42dd1f08941b349209c1cf8602f47c8 +Subproject commit 1c4023e9efb074f6685e04571282b6c803a5d97d From 39e9fec7be1288a84c26d18879f1b4b7229731c2 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 5 Aug 2024 11:35:12 +0100 Subject: [PATCH 031/134] importer-msgraph-metadata: fix singularization rules to avoid collision between `/members/$ref` and `/members/{id}/$ref` --- .../components/parser/resourceids.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 5ccb7c96fba..ba7e444387c 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -130,7 +130,7 @@ func (r ResourceId) IsMatchOrAncestor(r2 ResourceId) (ResourceId, bool) { } // FullyQualifiedResourceName returns a human-readable name for the ResourceId, using all segments, each segment singularized -// except when the following segment is a plural function, or the first known verb is encountered. +// except when the following segment is an OData reference or plural function, or the first known verb is encountered. // e.g. // if r represents `/applications/{applicationId}/synchronization/jobs/{synchronizationJobId}/schema`, the returned name // will be `ApplicationSynchronizationJob` @@ -149,19 +149,21 @@ func (r ResourceId) FullyQualifiedResourceName(suffixQualification *string) (*st if i == len(r.Segments)+1 { // Don't singularize the final segment, so it can still be reliably verb-matched when parsing operations later shouldSingularize = false + } - } else if len(r.Segments) > i+1 && r.Segments[i+1].Type != SegmentUserValue { + if len(r.Segments) > i+1 && r.Segments[i+1].Type != SegmentUserValue { // Look for a verb match in the next segment, if it exists and is not a SegmentUserValue // Example: in the following ID, we want to _not_ singularize the `jobs` label // /applications/{applicationId}/synchronization/jobs/validateCredentials if _, ok := normalize.Verbs.Match(normalize.CleanName(r.Segments[i+1].Value)); ok { shouldSingularize = false } + } - } else if len(r.Segments) > i+1 && r.Segments[i+1].Type == SegmentODataReference && r.Segments[i+1].Value == "$count" { - // $count indicates a plural entity whereas $ref does not + if len(r.Segments) > i+1 && r.Segments[i+1].Type == SegmentODataReference && (r.Segments[i+1].Value == "$count" || r.Segments[i+1].Value == "$ref") { + // $count and $ref indicate a plural entity (noting that this only applies when the current + // segment is a label and not user-specified). shouldSingularize = false - } } From 3b1c2d6993d1e190f2b0ea0056de1a18f17762d8 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 5 Aug 2024 12:30:15 +0100 Subject: [PATCH 032/134] importer-msgraph-metadata: singularization fix for "access", casing fixes for "OAuth" and "Id" --- .../components/normalize/normalize.go | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize.go b/tools/importer-msgraph-metadata/components/normalize/normalize.go index 171300cc503..86d2effb0d6 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize.go +++ b/tools/importer-msgraph-metadata/components/normalize/normalize.go @@ -13,15 +13,27 @@ import ( ) func Singularize(name string) string { + // "access" is already singular + if len(name) >= 5 && name[len(name)-5:] == "ccess" { + return name + } + + // "properties", "entities" etc if len(name) >= 3 && name[len(name)-3:] == "ies" { return fmt.Sprintf("%sy", name[:len(name)-3]) } + + // "premises" etc if len(name) >= 3 && name[len(name)-3:] == "ses" { return name[:len(name)-2] } + + // all other words, remove the trailing "s" if len(name) >= 1 && name[len(name)-1:] == "s" { return name[:len(name)-1] } + + // else just return the original name return name } @@ -69,18 +81,24 @@ func CleanName(name string) string { trailing := regexp.MustCompile(`[^a-zA-Z0-9]`).ReplaceAllString(name[len(leading):], "") name = leading + trailing - // Odata should be OData - name = regexp.MustCompile("^Odata").ReplaceAllString(name, "OData") + // CloudPc should be CloudPC, also fixes inconsistent casing + name = regexp.MustCompile("(?i)CloudPc").ReplaceAllString(name, "CloudPC") // Innererror should be InnerError name = regexp.MustCompile("^Innererror").ReplaceAllString(name, "InnerError") - // known issue where CloudPC appears with inconsistent casing - name = regexp.MustCompile("(?i)CloudPc").ReplaceAllString(name, "CloudPC") + // Oauth should be OAuth + name = regexp.MustCompile("^Oauth").ReplaceAllString(name, "OAuth") + + // Odata should be OData + name = regexp.MustCompile("^Odata").ReplaceAllString(name, "OData") // Orderby should be OrderBy name = regexp.MustCompile("^Orderby").ReplaceAllString(name, "OrderBy") + // (trailing) ID should be Id for compatibility with Go SDK generator + name = regexp.MustCompile("([a-z])ID$").ReplaceAllString(name, "${1}Id") + return name } From 5d1ba6fbc53b6b919afc186bd9bbdd8ccffe678d Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 5 Aug 2024 13:35:26 +0100 Subject: [PATCH 033/134] generator-go-sdk: add missing imports --- tools/generator-go-sdk/internal/generator/service.go | 10 ++-------- .../internal/generator/templater_clients.go | 2 ++ .../internal/generator/templater_meta_client.go | 2 ++ .../internal/generator/templater_models.go | 12 +++++++++--- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/service.go b/tools/generator-go-sdk/internal/generator/service.go index 282971dd498..6f9b99eb7e4 100644 --- a/tools/generator-go-sdk/internal/generator/service.go +++ b/tools/generator-go-sdk/internal/generator/service.go @@ -131,21 +131,15 @@ func runGoImports(path string) { } func cleanAndRecreateWorkingDirectory(path string) error { - // rm -r + // rm -r 💥 if err := os.RemoveAll(path); err != nil { return fmt.Errorf("deleting %q: %+v", path, err) } - // then ensure the directory exists - if err := os.MkdirAll(path, 0777); err != nil { - return fmt.Errorf("creating %q: %+v", path, err) - } - - return nil + return ensureWorkingDirectoryExists(path) } func ensureWorkingDirectoryExists(path string) error { - // TODO: make these less exciting if err := os.MkdirAll(path, 0777); err != nil { if !os.IsExist(err) { return fmt.Errorf("creating %q: %+v", path, err) diff --git a/tools/generator-go-sdk/internal/generator/templater_clients.go b/tools/generator-go-sdk/internal/generator/templater_clients.go index f0977f68315..8aed0d9cca3 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients.go @@ -16,6 +16,8 @@ func (c clientsTemplater) template(data GeneratorData) (*string, error) { template := fmt.Sprintf(`package %[1]s import ( + "fmt" + "github.com/hashicorp/go-azure-sdk/sdk/client" "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" diff --git a/tools/generator-go-sdk/internal/generator/templater_meta_client.go b/tools/generator-go-sdk/internal/generator/templater_meta_client.go index 00726c222ab..d168f6b1b3f 100644 --- a/tools/generator-go-sdk/internal/generator/templater_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/templater_meta_client.go @@ -63,6 +63,8 @@ configureFunc(%[1]s.Client) %[3]s import ( + "fmt" + "github.com/hashicorp/go-azure-sdk/sdk/client" "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index fa3a56ebbb7..46335da66e3 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -36,6 +36,11 @@ func (c modelsTemplater) template(data GeneratorData) (*string, error) { return nil, fmt.Errorf("generating functions: %+v", err) } + commonTypesInclude := "" + if data.commonTypesIncludePath != nil { + commonTypesInclude = fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s"`, data.sourceType, *data.commonTypesIncludePath) + } + template := fmt.Sprintf(`package %[1]s import ( @@ -49,12 +54,13 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + %[2]s ) -%[4]s -%[2]s +%[5]s %[3]s -`, data.packageName, *structCode, *methods, *copyrightLines) +%[4]s +`, data.packageName, commonTypesInclude, *structCode, *methods, *copyrightLines) return &template, nil } From 53758b60780f4420700e77eae1068f199edb6c86 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 5 Aug 2024 16:47:45 +0100 Subject: [PATCH 034/134] generator-go-sdk: fix package/directory name for API version when outputting meta client / common types --- .../internal/generator/data.go | 17 +++++++++----- .../internal/generator/stage_meta_client.go | 13 ++++++----- .../generator/templater_meta_client.go | 22 ++++++++----------- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index 1c31db6f569..6ad258cf910 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -74,10 +74,10 @@ type GeneratorData struct { func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { resourcePackageName := strings.ToLower(i.ResourceName) servicePackageName := strings.ToLower(i.ServiceName) - versionPackageName := strings.ToLower(i.VersionName) + versionDirectoryName := strings.ToLower(i.VersionName) - versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionPackageName) - resourceOutputPath := filepath.Join(versionOutputPath, resourcePackageName) + versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionDirectoryName) + resourceOutputPath := filepath.Join(versionOutputPath, versionDirectoryName) useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) @@ -122,16 +122,20 @@ type VersionGeneratorData struct { // for example {workingDir}/{service}/{version} versionOutputPath string - // the name of the version as a package + // the directory name of the package for the API version + versionDirectoryName string + + // the package name for the API version versionPackageName string } func (i VersionGeneratorInput) generatorData(settings Settings) VersionGeneratorData { servicePackageName := strings.ToLower(i.ServiceName) + versionDirectoryName := strings.ToLower(i.VersionName) versionPackageName := strings.ToLower(strings.ReplaceAll(i.VersionName, "-", "_")) - commonTypesOutputPath := filepath.Join(i.OutputDirectory, settings.CommonTypesPackageName, versionPackageName) - versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionPackageName) + commonTypesOutputPath := filepath.Join(i.OutputDirectory, settings.CommonTypesPackageName, versionDirectoryName) + versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionDirectoryName) useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) @@ -152,6 +156,7 @@ func (i VersionGeneratorInput) generatorData(settings Settings) VersionGenerator commonTypesOutputPath: commonTypesOutputPath, resources: i.Resources, versionOutputPath: versionOutputPath, + versionDirectoryName: versionDirectoryName, versionPackageName: versionPackageName, } } diff --git a/tools/generator-go-sdk/internal/generator/stage_meta_client.go b/tools/generator-go-sdk/internal/generator/stage_meta_client.go index 8e9a98b923b..d96473bf567 100644 --- a/tools/generator-go-sdk/internal/generator/stage_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/stage_meta_client.go @@ -15,12 +15,13 @@ func (s *Generator) metaClient(data VersionGeneratorData) error { var templater templaterForVersion if data.useNewBaseLayer { templater = metaClientTemplater{ - serviceName: data.servicePackageName, - apiVersion: data.versionPackageName, - baseClientPackage: data.baseClientPackage, - resources: data.resources, - source: data.source, - sourceType: data.sourceType, + serviceName: data.servicePackageName, + apiVersionDirectoryName: data.versionDirectoryName, + apiVersionPackageName: data.versionPackageName, + baseClientPackage: data.baseClientPackage, + resources: data.resources, + source: data.source, + sourceType: data.sourceType, } } else { templater = metaClientAutorestTemplater{ diff --git a/tools/generator-go-sdk/internal/generator/templater_meta_client.go b/tools/generator-go-sdk/internal/generator/templater_meta_client.go index d168f6b1b3f..fd97d1926d5 100644 --- a/tools/generator-go-sdk/internal/generator/templater_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/templater_meta_client.go @@ -9,12 +9,13 @@ import ( ) type metaClientTemplater struct { - serviceName string - apiVersion string - baseClientPackage string - resources map[string]models.APIResource - source models.SourceDataOrigin - sourceType models.SourceDataType + apiVersionDirectoryName string + apiVersionPackageName string + baseClientPackage string + resources map[string]models.APIResource + serviceName string + source models.SourceDataOrigin + sourceType models.SourceDataType } func (m metaClientTemplater) template() (*string, error) { @@ -36,7 +37,7 @@ func (m metaClientTemplater) template() (*string, error) { for _, resourceName := range resourceNames { variableName := fmt.Sprintf("%s%sClient", strings.ToLower(string(resourceName[0])), resourceName[1:]) - imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s/%s/%s"`, m.sourceType, strings.ToLower(m.serviceName), m.apiVersion, strings.ToLower(resourceName))) + imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s/%s/%s"`, m.sourceType, strings.ToLower(m.serviceName), m.apiVersionDirectoryName, strings.ToLower(resourceName))) fields = append(fields, fmt.Sprintf("%[1]s *%[2]s.%[1]sClient", resourceName, strings.ToLower(resourceName))) clientInitializationTemplate := fmt.Sprintf(`%[1]s, err := %[2]s.New%[3]sClientWithBaseURI(sdkApi) if err != nil { @@ -53,11 +54,6 @@ configureFunc(%[1]s.Client) sort.Strings(fields) sort.Strings(imports) - packageName := m.apiVersion - if strings.Contains(packageName, "-") { - packageName = fmt.Sprintf("v%s", strings.ReplaceAll(m.apiVersion, "-", "_")) - } - out := fmt.Sprintf(`package %[1]s %[3]s @@ -83,6 +79,6 @@ func NewClientWithBaseURI(sdkApi sdkEnv.Api, configureFunc func(c *%[2]s.Client) %[7]s }, nil } -`, packageName, m.baseClientPackage, *copyrightLines, strings.Join(imports, "\n"), strings.Join(fields, "\n"), strings.Join(clientInitialization, "\n"), strings.Join(assignments, "\n")) +`, m.apiVersionPackageName, m.baseClientPackage, *copyrightLines, strings.Join(imports, "\n"), strings.Join(fields, "\n"), strings.Join(clientInitialization, "\n"), strings.Join(assignments, "\n")) return &out, nil } From 066c7ab33d3cc097776e17473b4b6a2c116594d3 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 5 Aug 2024 17:19:06 +0100 Subject: [PATCH 035/134] generator-go-sdk: unit test updates --- .../generator/templater_clients_test.go | 8 +++- .../generator/templater_constants_test.go | 12 ++++- .../generator/templater_id_parser_test.go | 8 ++-- .../internal/generator/templater_methods.go | 2 +- .../templater_methods_discriminators_test.go | 44 +++++++++++-------- ...er_methods_long_running_operations_test.go | 9 ++-- .../generator/templater_methods_test.go | 5 +++ .../generator/templater_readme_test.go | 21 +++++++++ 8 files changed, 79 insertions(+), 30 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_clients_test.go b/tools/generator-go-sdk/internal/generator/templater_clients_test.go index 7567c6ac9f6..7ce791b10b3 100644 --- a/tools/generator-go-sdk/internal/generator/templater_clients_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_clients_test.go @@ -9,6 +9,7 @@ import ( func TestTemplateClient(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "somepackage", serviceClientName: "ExampleClient", source: AccTestLicenceType, @@ -22,6 +23,9 @@ func TestTemplateClient(t *testing.T) { expected := `package somepackage import ( + "fmt" + "github.com/hashicorp/go-azure-sdk/sdk/client" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" sdkEnv "github.com/hashicorp/go-azure-sdk/sdk/environments" ) @@ -29,11 +33,11 @@ import ( // acctests licence placeholder type ExampleClient struct { - Client *resourcemanager.Client + Client *testclient.Client } func NewExampleClientWithBaseURI(sdkApi sdkEnv.Api) (*ExampleClient, error) { - client, err := resourcemanager.NewResourceManagerClient(sdkApi, "somepackage", defaultApiVersion) + client, err := testclient.NewClient(sdkApi, "somepackage", defaultApiVersion) if err != nil { return nil, fmt.Errorf("instantiating ExampleClient: %+v", err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_constants_test.go b/tools/generator-go-sdk/internal/generator/templater_constants_test.go index bd97d7773f4..ab30a546a15 100644 --- a/tools/generator-go-sdk/internal/generator/templater_constants_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_constants_test.go @@ -34,7 +34,11 @@ func TestTemplateConstantsSingle(t *testing.T) { } expected := `package somepackage -import "strings" +import ( + "encoding/json" + "fmt" + "strings" +) // acctests licence placeholder // template for first @@ -64,7 +68,11 @@ func TestTemplateConstantsMultiple(t *testing.T) { } expected := `package somepackage -import "strings" +import ( + "encoding/json" + "fmt" + "strings" +) // acctests licence placeholder // template for first diff --git a/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go b/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go index c08cbbb08a4..40fdf2f6bc3 100644 --- a/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_id_parser_test.go @@ -71,7 +71,7 @@ var _ resourceids.ResourceId = &BasicTestId{} } id := BasicTestId{} - if err := id.FromParseResult(*parsed); err != nil { + if err = id.FromParseResult(*parsed); err != nil { return nil, err } @@ -88,7 +88,7 @@ var _ resourceids.ResourceId = &BasicTestId{} } id := BasicTestId{} - if err := id.FromParseResult(*parsed); err != nil { + if err = id.FromParseResult(*parsed); err != nil { return nil, err } @@ -220,7 +220,7 @@ func ParseConstantOnlyID(input string) (*ConstantOnlyId, error) { } id := ConstantOnlyId{} - if err := id.FromParseResult(*parsed); err != nil { + if err = id.FromParseResult(*parsed); err != nil { return nil, err } @@ -237,7 +237,7 @@ func ParseConstantOnlyIDInsensitively(input string) (*ConstantOnlyId, error) { } id := ConstantOnlyId{} - if err := id.FromParseResult(*parsed); err != nil { + if err = id.FromParseResult(*parsed); err != nil { return nil, err } diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index 1b9a8ca119f..d78c812c0b7 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -233,7 +233,7 @@ func (c methodsPandoraTemplater) longRunningOperationTemplate(data GeneratorData // %[3]s ... func (c %[1]s) %[3]s(ctx context.Context %[4]s) (result %[3]sOperationResponse, err error) { - opts := %[4]s + opts := %[5]s req, err := c.Client.NewRequest(ctx, opts) if err != nil { diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go index bf514e4c2ca..f8c11b921a9 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go @@ -20,6 +20,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsImplementation_Get(t *tes // Discriminated Parent's `unmarshal` function shouldn't be called. input := GeneratorData{ + baseClientPackage: "testclient", packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -62,15 +63,16 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsImplementation_Get(t *tes expected := ` package chubbypandas import ( -"context" -"fmt" -"net/http" -"net/url" -"github.com/hashicorp/go-azure-helpers/resourcemanager/commonids" -"github.com/hashicorp/go-azure-sdk/sdk/client" -"github.com/hashicorp/go-azure-sdk/sdk/client/pollers" -"github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" -"github.com/hashicorp/go-azure-sdk/sdk/odata" + "context" + "fmt" + "net/http" + "net/url" + "github.com/hashicorp/go-azure-helpers/resourcemanager/commonids" + "github.com/hashicorp/go-azure-sdk/sdk/client" + "github.com/hashicorp/go-azure-sdk/sdk/client/pollers" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" + "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" + "github.com/hashicorp/go-azure-sdk/sdk/odata" ) // acctests licence placeholder type GetOperationResponse struct { @@ -122,6 +124,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsParent_Get(t *testing.T) // In this instance the `unmarshal` function for the Parent Type should be called as a part // of the Response. input := GeneratorData{ + baseClientPackage: "testclient", packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -164,15 +167,16 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsParent_Get(t *testing.T) package chubbypandas import ( -"context" -"fmt" -"net/http" -"net/url" -"github.com/hashicorp/go-azure-helpers/resourcemanager/commonids" -"github.com/hashicorp/go-azure-sdk/sdk/client" -"github.com/hashicorp/go-azure-sdk/sdk/client/pollers" -"github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" -"github.com/hashicorp/go-azure-sdk/sdk/odata" + "context" + "fmt" + "net/http" + "net/url" + "github.com/hashicorp/go-azure-helpers/resourcemanager/commonids" + "github.com/hashicorp/go-azure-sdk/sdk/client" + "github.com/hashicorp/go-azure-sdk/sdk/client/pollers" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" + "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" + "github.com/hashicorp/go-azure-sdk/sdk/odata" ) // acctests licence placeholder @@ -229,6 +233,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsImplementation_List(t *te // should be output - and the Discriminated Parent's `unmarshal` function shouldn't be called. input := GeneratorData{ + baseClientPackage: "testclient", packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -280,6 +285,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/commonids" "github.com/hashicorp/go-azure-sdk/sdk/client" "github.com/hashicorp/go-azure-sdk/sdk/client/pollers" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" "github.com/hashicorp/go-azure-sdk/sdk/odata" ) @@ -385,6 +391,7 @@ func TestTemplateMethods_Discriminator_ResponseObjectIsParent_List(t *testing.T) // should be output - and the (Discriminated Parent's) `unmarshal` function should be called. input := GeneratorData{ + baseClientPackage: "testclient", packageName: "chubbypandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -435,6 +442,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/commonids" "github.com/hashicorp/go-azure-sdk/sdk/client" "github.com/hashicorp/go-azure-sdk/sdk/client/pollers" + "github.com/hashicorp/go-azure-sdk/sdk/client/msgraph" "github.com/hashicorp/go-azure-sdk/sdk/client/resourcemanager" "github.com/hashicorp/go-azure-sdk/sdk/odata" ) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go index 0a2a0249a70..380565c2c20 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_long_running_operations_test.go @@ -11,6 +11,7 @@ import ( func TestTemplateMethodsLROCreate(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -77,7 +78,7 @@ func (c pandaClient) Create(ctx context.Context , id PandaPop, input string) (re return } - result.Poller, err = resourcemanager.PollerFromResponse(resp, c.Client) + result.Poller, err = testclient.PollerFromResponse(resp, c.Client) if err != nil { return } @@ -104,6 +105,7 @@ func (c pandaClient) CreateThenPoll(ctx context.Context , id PandaPop, input str func TestTemplateMethodsLROReboot(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -161,7 +163,7 @@ func (c pandaClient) Reboot(ctx context.Context , id PandaPop) (result RebootOpe return } - result.Poller, err = resourcemanager.PollerFromResponse(resp, c.Client) + result.Poller, err = testclient.PollerFromResponse(resp, c.Client) if err != nil { return } @@ -195,6 +197,7 @@ func TestTemplateMethodsLRODoesNotCallUnmarshal(t *testing.T) { // Poller - since (for the moment) consumers will need to decide when `Unmarshal` should // be called on the LRO Result, if needed at all. input := GeneratorData{ + baseClientPackage: "testclient", packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -280,7 +283,7 @@ func (c pandaClient) Create(ctx context.Context , id PandaPop, input Example) (r return } - result.Poller, err = resourcemanager.PollerFromResponse(resp, c.Client) + result.Poller, err = testclient.PollerFromResponse(resp, c.Client) if err != nil { return } diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_test.go index 9773931ccfc..f733d4bf580 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_test.go @@ -15,6 +15,7 @@ import ( func TestTemplateMethodsGet(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -88,6 +89,7 @@ func (c pandaClient) Get(ctx context.Context , id PandaPop) (result GetOperation func TestTemplateMethodsGetAsTextPowerShell(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "skinnyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -166,6 +168,7 @@ func (c pandaClient) Get(ctx context.Context , id PandaPop) (result GetOperation func TestTemplateMethodsListWithDiscriminatedType(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -334,6 +337,7 @@ func (c pandaClient) ListCompleteMatchingPredicate(ctx context.Context, id Panda func TestTemplateMethodsListWithSimpleType(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, @@ -455,6 +459,7 @@ func (c pandaClient) ListComplete(ctx context.Context, id PandaPop) (result List func TestTemplateMethodsListWithObject(t *testing.T) { input := GeneratorData{ + baseClientPackage: "testclient", packageName: "chubbyPandas", serviceClientName: "pandaClient", source: AccTestLicenceType, diff --git a/tools/generator-go-sdk/internal/generator/templater_readme_test.go b/tools/generator-go-sdk/internal/generator/templater_readme_test.go index 242ba8888af..e493a7f318a 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme_test.go @@ -41,6 +41,7 @@ client.Client.Authorizer = authorizer apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, }) if err != nil { t.Fatalf("generating readme: %+v", err) @@ -98,6 +99,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -164,6 +166,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { CommonIDAlias: pointer.To("ManagedDisk"), @@ -237,6 +240,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -324,6 +328,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -404,6 +409,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -468,6 +474,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{}, }) if err != nil { @@ -533,6 +540,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{}, }) if err != nil { @@ -593,6 +601,7 @@ for _, item := range items { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -661,6 +670,7 @@ for _, item := range items { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { CommonIDAlias: pointer.To("ManagedDisk"), @@ -736,6 +746,7 @@ for _, item := range items { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -825,6 +836,7 @@ for _, item := range items { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -907,6 +919,7 @@ for _, item := range items { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -980,6 +993,7 @@ for _, item := range items { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{}, }) if err != nil { @@ -1035,6 +1049,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id); err != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -1098,6 +1113,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id); err != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { CommonIDAlias: pointer.To("ManagedDisk"), @@ -1168,6 +1184,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id, payload); err != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -1252,6 +1269,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id, payload, disks.DefaultSomeLong apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -1328,6 +1346,7 @@ if err := client.SomeLongRunningThenPoll(ctx, id, disks.DefaultSomeLongRunningOp apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{ "Disk": { Segments: []models.ResourceIDSegment{ @@ -1390,6 +1409,7 @@ if err := client.SomeLongRunningThenPoll(ctx); err != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{}, }) if err != nil { @@ -1466,6 +1486,7 @@ if model := read.Model; model != nil { apiVersion: "2022-02-01", servicePackageName: "compute", serviceClientName: "DisksClient", + sourceType: models.ResourceManagerSourceDataType, resourceIds: map[string]models.ResourceID{}, }) if err != nil { From c39cc5c98f63cdeae4b76304632bdbc459a3e354 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 5 Aug 2024 19:05:58 +0100 Subject: [PATCH 036/134] generator-go-sdk: fix meta client package naming for numerically versioned APIs --- .../generator-go-sdk/internal/generator/data.go | 7 ++++++- .../internal/generator/stage_meta_client.go | 13 +++++++------ .../generator/templater_meta_client_autorest.go | 17 ++++++++--------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index 6ad258cf910..dc0daa80404 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -6,6 +6,7 @@ package generator import ( "fmt" "path/filepath" + "regexp" "strings" "github.com/hashicorp/go-azure-helpers/lang/pointer" @@ -132,11 +133,15 @@ type VersionGeneratorData struct { func (i VersionGeneratorInput) generatorData(settings Settings) VersionGeneratorData { servicePackageName := strings.ToLower(i.ServiceName) versionDirectoryName := strings.ToLower(i.VersionName) - versionPackageName := strings.ToLower(strings.ReplaceAll(i.VersionName, "-", "_")) commonTypesOutputPath := filepath.Join(i.OutputDirectory, settings.CommonTypesPackageName, versionDirectoryName) versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionDirectoryName) + versionPackageName := strings.ToLower(strings.ReplaceAll(i.VersionName, "-", "_")) + if regexp.MustCompile(`^[0-9]+`).MatchString(versionPackageName) { + versionPackageName = fmt.Sprintf("v%s", versionPackageName) + } + useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) return VersionGeneratorData{ diff --git a/tools/generator-go-sdk/internal/generator/stage_meta_client.go b/tools/generator-go-sdk/internal/generator/stage_meta_client.go index d96473bf567..f94adf34fe3 100644 --- a/tools/generator-go-sdk/internal/generator/stage_meta_client.go +++ b/tools/generator-go-sdk/internal/generator/stage_meta_client.go @@ -15,21 +15,22 @@ func (s *Generator) metaClient(data VersionGeneratorData) error { var templater templaterForVersion if data.useNewBaseLayer { templater = metaClientTemplater{ - serviceName: data.servicePackageName, apiVersionDirectoryName: data.versionDirectoryName, apiVersionPackageName: data.versionPackageName, baseClientPackage: data.baseClientPackage, resources: data.resources, + serviceName: data.servicePackageName, source: data.source, sourceType: data.sourceType, } } else { templater = metaClientAutorestTemplater{ - serviceName: data.servicePackageName, - apiVersion: data.versionPackageName, - resources: data.resources, - source: data.source, - sourceType: data.sourceType, + apiVersionDirectoryName: data.versionDirectoryName, + apiVersionPackageName: data.versionPackageName, + resources: data.resources, + serviceName: data.servicePackageName, + source: data.source, + sourceType: data.sourceType, } } diff --git a/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go b/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go index d5d07aa3553..969b3ad609b 100644 --- a/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go +++ b/tools/generator-go-sdk/internal/generator/templater_meta_client_autorest.go @@ -9,11 +9,12 @@ import ( ) type metaClientAutorestTemplater struct { - serviceName string - apiVersion string - resources map[string]models.APIResource - source models.SourceDataOrigin - sourceType models.SourceDataType + apiVersionDirectoryName string + apiVersionPackageName string + resources map[string]models.APIResource + serviceName string + source models.SourceDataOrigin + sourceType models.SourceDataType } func (m metaClientAutorestTemplater) template() (*string, error) { @@ -35,7 +36,7 @@ func (m metaClientAutorestTemplater) template() (*string, error) { for _, resourceName := range resourceNames { variableName := fmt.Sprintf("%s%sClient", strings.ToLower(string(resourceName[0])), resourceName[1:]) - imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s/%s/%s"`, m.sourceType, strings.ToLower(m.serviceName), m.apiVersion, strings.ToLower(resourceName))) + imports = append(imports, fmt.Sprintf(`"github.com/hashicorp/go-azure-sdk/%s/%s/%s/%s"`, m.sourceType, strings.ToLower(m.serviceName), m.apiVersionDirectoryName, strings.ToLower(resourceName))) fields = append(fields, fmt.Sprintf("%[1]s *%[2]s.%[1]sClient", resourceName, strings.ToLower(resourceName))) clientInitializationTemplate := fmt.Sprintf(` %[1]s := %[2]s.New%[3]sClientWithBaseURI(endpoint) @@ -50,8 +51,6 @@ configureAuthFunc(&%[1]s.Client) sort.Strings(fields) sort.Strings(imports) - packageName := fmt.Sprintf("v%s", strings.ReplaceAll(m.apiVersion, "-", "_")) - out := fmt.Sprintf(`package %[1]s %[2]s @@ -72,6 +71,6 @@ func NewClientWithBaseURI(endpoint string, configureAuthFunc func(c *autorest.Cl %[6]s } } -`, packageName, *copyrightLines, strings.Join(imports, "\n"), strings.Join(fields, "\n"), strings.Join(clientInitialization, "\n"), strings.Join(assignments, "\n")) +`, m.apiVersionPackageName, *copyrightLines, strings.Join(imports, "\n"), strings.Join(fields, "\n"), strings.Join(clientInitialization, "\n"), strings.Join(assignments, "\n")) return &out, nil } From 88552699ab1df89e16efb9f7267f6db0c4ce0dc6 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 5 Aug 2024 19:51:30 +0100 Subject: [PATCH 037/134] generator-go-sdk: fix output path for resource packages --- tools/generator-go-sdk/internal/generator/data.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index dc0daa80404..cd346cc0852 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -78,7 +78,7 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { versionDirectoryName := strings.ToLower(i.VersionName) versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionDirectoryName) - resourceOutputPath := filepath.Join(versionOutputPath, versionDirectoryName) + resourceOutputPath := filepath.Join(versionOutputPath, resourcePackageName) useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) From 7467e1d682a961f45d6f8de7912d1cea0856850d Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 6 Aug 2024 01:41:38 +0100 Subject: [PATCH 038/134] importer-msgraph-metadata: rename file --- .../components/blacklisted/{blacklist.go => resource.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tools/importer-msgraph-metadata/components/blacklisted/{blacklist.go => resource.go} (100%) diff --git a/tools/importer-msgraph-metadata/components/blacklisted/blacklist.go b/tools/importer-msgraph-metadata/components/blacklisted/resource.go similarity index 100% rename from tools/importer-msgraph-metadata/components/blacklisted/blacklist.go rename to tools/importer-msgraph-metadata/components/blacklisted/resource.go From 78cba7b4d3c694e84da70afea64340436e6fa9ab Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 6 Aug 2024 13:08:45 +0100 Subject: [PATCH 039/134] generator-go-sdk: more API version name/directory fixes --- .../generator-go-sdk/internal/cmd/generate.go | 3 ++ .../internal/generator/data.go | 49 ++++++++++++------- .../internal/generator/settings.go | 8 +++ .../internal/generator/templater_readme.go | 2 +- .../internal/generator/templater_version.go | 11 +++-- 5 files changed, 50 insertions(+), 23 deletions(-) diff --git a/tools/generator-go-sdk/internal/cmd/generate.go b/tools/generator-go-sdk/internal/cmd/generate.go index d20e0f76ec3..8c46041d351 100644 --- a/tools/generator-go-sdk/internal/cmd/generate.go +++ b/tools/generator-go-sdk/internal/cmd/generate.go @@ -59,6 +59,9 @@ func (g GenerateCommand) Run(args []string) int { } if g.sourceDataType == models.MicrosoftGraphSourceDataType { + input.settings.CanonicalApiVersions = map[string]string{ + "stable": "v1.0", + } input.settings.VersionsToGenerateCommonTypes = map[string]models.SourceDataOrigin{ "stable": models.MicrosoftGraphMetaDataSourceDataOrigin, "beta": models.MicrosoftGraphMetaDataSourceDataOrigin, diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index cd346cc0852..789362bb6d0 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -43,6 +43,10 @@ type GeneratorData struct { // API Version is the default API version for this Resource apiVersion string + // canonicalApiVersion is the upstream API version, which is set when different to the internal API version in Pandora + // example of this would be MS Graph v1.0, which Pandora internally refers to as "stable" + canonicalApiVersion *string + // models is a map of Model Name (key) to SDKModel (value) describing // the models used in this Resource models map[string]models.SDKModel @@ -64,6 +68,12 @@ type GeneratorData struct { // sourceType is the source data type and is the SDK package name sourceType models.SourceDataType + // the directory name of the package for the API version + versionDirectoryName string + + // the package name for the API version + versionPackageName string + // whether this is a data plane SDK (omits certain Resource Manager specific features, currently used in ID parsers) isDataPlane bool @@ -80,6 +90,11 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { versionOutputPath := filepath.Join(i.OutputDirectory, servicePackageName, versionDirectoryName) resourceOutputPath := filepath.Join(versionOutputPath, resourcePackageName) + versionPackageName := strings.ToLower(strings.ReplaceAll(i.VersionName, "-", "_")) + if regexp.MustCompile(`^[0-9]+`).MatchString(versionPackageName) { + versionPackageName = fmt.Sprintf("v%s", versionPackageName) + } + useNewBaseLayer := settings.ShouldUseNewBaseLayer(i.ServiceName, i.VersionName) var commonTypesPackageName, commonTypesIncludePath *string @@ -90,6 +105,7 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { return GeneratorData{ apiVersion: i.VersionName, + canonicalApiVersion: settings.CanonicalApiVersion(i.VersionName), baseClientPackage: baseClientPackageForSdk(i.Type), commonTypes: i.CommonTypes, commonTypesIncludePath: commonTypesIncludePath, @@ -122,12 +138,6 @@ type VersionGeneratorData struct { // This is the directory for the API version where the meta client should be output // for example {workingDir}/{service}/{version} versionOutputPath string - - // the directory name of the package for the API version - versionDirectoryName string - - // the package name for the API version - versionPackageName string } func (i VersionGeneratorInput) generatorData(settings Settings) VersionGeneratorData { @@ -146,22 +156,23 @@ func (i VersionGeneratorInput) generatorData(settings Settings) VersionGenerator return VersionGeneratorData{ GeneratorData: GeneratorData{ - apiVersion: i.VersionName, - baseClientPackage: baseClientPackageForSdk(i.Type), - commonTypes: i.CommonTypes, - constants: i.CommonTypes.Constants, - isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), - models: i.CommonTypes.Models, - packageName: versionPackageName, - servicePackageName: strings.ToLower(i.ServiceName), - source: i.Source, - sourceType: i.Type, - useNewBaseLayer: useNewBaseLayer, + apiVersion: i.VersionName, + canonicalApiVersion: settings.CanonicalApiVersion(i.VersionName), + baseClientPackage: baseClientPackageForSdk(i.Type), + commonTypes: i.CommonTypes, + constants: i.CommonTypes.Constants, + isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), + models: i.CommonTypes.Models, + packageName: versionPackageName, + servicePackageName: strings.ToLower(i.ServiceName), + source: i.Source, + sourceType: i.Type, + useNewBaseLayer: useNewBaseLayer, + versionDirectoryName: versionDirectoryName, + versionPackageName: versionPackageName, }, commonTypesOutputPath: commonTypesOutputPath, resources: i.Resources, versionOutputPath: versionOutputPath, - versionDirectoryName: versionDirectoryName, - versionPackageName: versionPackageName, } } diff --git a/tools/generator-go-sdk/internal/generator/settings.go b/tools/generator-go-sdk/internal/generator/settings.go index 65b77ce37b9..ee4d720e606 100644 --- a/tools/generator-go-sdk/internal/generator/settings.go +++ b/tools/generator-go-sdk/internal/generator/settings.go @@ -10,11 +10,19 @@ import ( ) type Settings struct { + CanonicalApiVersions map[string]string CommonTypesPackageName string VersionsToGenerateCommonTypes map[string]models.SourceDataOrigin servicesUsingOldBaseLayer map[string]struct{} } +func (s *Settings) CanonicalApiVersion(version string) *string { + if v, ok := s.CanonicalApiVersions[version]; ok { + return &v + } + return nil +} + func (s *Settings) UseOldBaseLayerFor(serviceNames ...string) { if s.servicesUsingOldBaseLayer == nil { s.servicesUsingOldBaseLayer = map[string]struct{}{} diff --git a/tools/generator-go-sdk/internal/generator/templater_readme.go b/tools/generator-go-sdk/internal/generator/templater_readme.go index 4e060b98e85..809a9afff26 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme.go @@ -62,7 +62,7 @@ This readme covers example usages, but further information on [using this SDK ca '''go %[5]s ''' -`, data.sourceType, data.servicePackageName, data.apiVersion, data.packageName, strings.Join(importLines, "\n")) +`, data.sourceType, data.servicePackageName, data.versionDirectoryName, data.packageName, strings.Join(importLines, "\n")) } func (r readmeTemplater) clientInitialization(packageName, clientName string) string { diff --git a/tools/generator-go-sdk/internal/generator/templater_version.go b/tools/generator-go-sdk/internal/generator/templater_version.go index ce35d8e2145..ced240f89c9 100644 --- a/tools/generator-go-sdk/internal/generator/templater_version.go +++ b/tools/generator-go-sdk/internal/generator/templater_version.go @@ -13,17 +13,22 @@ func (c versionTemplater) template(data GeneratorData) (*string, error) { return nil, fmt.Errorf("retrieving copyright lines: %+v", err) } + apiVersion := data.apiVersion + if data.canonicalApiVersion != nil { + apiVersion = *data.canonicalApiVersion + } + template := fmt.Sprintf(`package %[1]s import "fmt" -%[3]s +%[4]s const defaultApiVersion = "%[2]s" func userAgent() string { - return fmt.Sprintf("hashicorp/go-azure-sdk/%[1]s/%%s", defaultApiVersion) + return "hashicorp/go-azure-sdk/%[1]s/%[3]s" } -`, data.packageName, data.apiVersion, *copyrightLines) +`, data.packageName, apiVersion, data.apiVersion, *copyrightLines) return &template, nil } From 569b3ca83f25ff6e92b873d11e124193ab01a003 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 6 Aug 2024 14:04:00 +0100 Subject: [PATCH 040/134] importer-msgraph-metadata: more renames --- .../pipeline/{run_importer.go => importer.go} | 0 .../internal/pipeline/interface.go | 26 ++++++++++++++ .../internal/pipeline/pipeline.go | 34 ------------------- 3 files changed, 26 insertions(+), 34 deletions(-) rename tools/importer-msgraph-metadata/internal/pipeline/{run_importer.go => importer.go} (100%) delete mode 100644 tools/importer-msgraph-metadata/internal/pipeline/pipeline.go diff --git a/tools/importer-msgraph-metadata/internal/pipeline/run_importer.go b/tools/importer-msgraph-metadata/internal/pipeline/importer.go similarity index 100% rename from tools/importer-msgraph-metadata/internal/pipeline/run_importer.go rename to tools/importer-msgraph-metadata/internal/pipeline/importer.go diff --git a/tools/importer-msgraph-metadata/internal/pipeline/interface.go b/tools/importer-msgraph-metadata/internal/pipeline/interface.go index 858b4a94235..0d804aa5b1c 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/interface.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/interface.go @@ -6,7 +6,9 @@ package pipeline import ( "fmt" + "github.com/getkin/kin-openapi/openapi3" "github.com/hashicorp/pandora/tools/data-api-repository/repository" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) @@ -30,3 +32,27 @@ func Run(input RunInput) error { return runImporter(input, *metadataGitSha) } + +type pipeline struct { + apiVersion string + constants parser.Constants + repo repository.Repository + metadataGitSha string + models parser.Models + outputDirectory string + resources map[string]parser.Resources + resourceIds parser.ResourceIds + spec *openapi3.T +} + +type pipelineForService struct { + pipeline + service string +} + +func (p pipeline) ForService(serviceName string) pipelineForService { + return pipelineForService{ + pipeline: p, + service: serviceName, + } +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go b/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go deleted file mode 100644 index d13cf8a3e7a..00000000000 --- a/tools/importer-msgraph-metadata/internal/pipeline/pipeline.go +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package pipeline - -import ( - "github.com/getkin/kin-openapi/openapi3" - "github.com/hashicorp/pandora/tools/data-api-repository/repository" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" -) - -type pipeline struct { - apiVersion string - constants parser.Constants - repo repository.Repository - metadataGitSha string - models parser.Models - outputDirectory string - resources map[string]parser.Resources - resourceIds parser.ResourceIds - spec *openapi3.T -} - -type pipelineForService struct { - pipeline - service string -} - -func (p pipeline) ForService(serviceName string) pipelineForService { - return pipelineForService{ - pipeline: p, - service: serviceName, - } -} From e8a1d3be39590e55fa1cee2dae7d5d13b80d76c6 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 11 Aug 2024 03:14:21 +0100 Subject: [PATCH 041/134] data-api: add a `nullable` option for data types --- .../internal/models/object_definition.go | 3 +++ .../transforms/sdk_field_object_definition.go | 2 ++ .../golang_type_for_sdk_object_definition.go | 18 ++++++++++++++++++ .../v1/models/sdk_object_definition.go | 3 +++ 4 files changed, 26 insertions(+) diff --git a/tools/data-api-repository/repository/internal/models/object_definition.go b/tools/data-api-repository/repository/internal/models/object_definition.go index d25ce9fe449..949a846a6e8 100644 --- a/tools/data-api-repository/repository/internal/models/object_definition.go +++ b/tools/data-api-repository/repository/internal/models/object_definition.go @@ -8,6 +8,9 @@ type ObjectDefinition struct { // ObjectDefinitionType defines what kind of ObjectDefinition this is, such as a Reference, String or List Type ObjectDefinitionType `json:"type"` + // Nullable specifies that this type should be unset by sending `null` as the JSON value. + Nullable bool `json:"nullable"` + // ReferenceName is the name of the Constant or Model that this is a reference to ReferenceName *string `json:"referenceName"` diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go b/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go index 5aa61ffbc55..ee64e54cdc8 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_field_object_definition.go @@ -17,6 +17,7 @@ func mapSDKFieldObjectDefinitionFromRepository(input repositoryModels.ObjectDefi return nil, fmt.Errorf("internal-error: missing a mapping for the ObjectDefinitionType %q", string(input.Type)) } output := sdkModels.SDKObjectDefinition{ + Nullable: input.Nullable, ReferenceName: input.ReferenceName, ReferenceNameIsCommonType: input.ReferenceNameIsCommonType, Type: typeVal, @@ -39,6 +40,7 @@ func mapSDKFieldObjectDefinitionToRepository(input sdkModels.SDKObjectDefinition } output := repositoryModels.ObjectDefinition{ + Nullable: input.Nullable, Type: typeVal, ReferenceName: nil, NestedItem: nil, diff --git a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go index 35aa1ae18d9..bac359bbbda 100644 --- a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go +++ b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go @@ -67,6 +67,24 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa return pointer.To(out), nil } + if input.Nullable { + nullableSdkObjectDefinitionTypesToValues := map[models.SDKObjectDefinitionType]string{ + // Simple Types + models.BooleanSDKObjectDefinitionType: "nullable.Type[bool]", + models.DateTimeSDKObjectDefinitionType: "nullable.Type[string]", // intentional since we have cast methods one way or the other + models.FloatSDKObjectDefinitionType: "nullable.Type[float64]", + models.IntegerSDKObjectDefinitionType: "nullable.Type[int64]", + models.StringSDKObjectDefinitionType: "nullable.Type[string]", + + // Complex Types + models.LocationSDKObjectDefinitionType: "nullable.Type[string]", + } + + if v, ok := nullableSdkObjectDefinitionTypesToValues[input.Type]; ok { + return pointer.To(v), nil + } + } + sdkObjectDefinitionTypesToValues := map[models.SDKObjectDefinitionType]string{ // Simple Types models.BooleanSDKObjectDefinitionType: "bool", diff --git a/tools/data-api-sdk/v1/models/sdk_object_definition.go b/tools/data-api-sdk/v1/models/sdk_object_definition.go index bbaadd4c91e..bafe6af10d1 100644 --- a/tools/data-api-sdk/v1/models/sdk_object_definition.go +++ b/tools/data-api-sdk/v1/models/sdk_object_definition.go @@ -28,4 +28,7 @@ type SDKObjectDefinition struct { // Simple type (e.g. a String/Integer), a Reference to a Constant/Model or a more complex object // (e.g. a CommonSchema type [such as a SystemAssignedIdentity] - or a List/Dictionary). Type SDKObjectDefinitionType `json:"type"` + + // Nullable specifies that this type should be unset by sending `null` as the JSON value. + Nullable bool `json:"nullable"` } From c6b5c01ccd799ae16c1c9602c0aaac1a5e644f83 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 11 Aug 2024 03:14:46 +0100 Subject: [PATCH 042/134] generator-go-sdk: support for generating models with fields having nullable types --- .../generator-go-sdk/internal/generator/templater_models.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 46335da66e3..217785ca349 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -54,6 +54,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" %[2]s ) @@ -224,7 +225,9 @@ func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDe } // TODO: proper support for ReadOnly fields, which is likely to necessitate a custom marshal func if isOptional || fieldDetails.ReadOnly { - fieldType = fmt.Sprintf("*%s", fieldType) + if !strings.HasPrefix(fieldType, "nullable.") { + fieldType = fmt.Sprintf("*%s", fieldType) + } jsonDetails += ",omitempty" } From da2d5639948c1c39c8c3c0061f1b2135786a40f0 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 11 Aug 2024 03:15:16 +0100 Subject: [PATCH 043/134] importer-msgraph-metadata: support for nullable field types --- .../components/parser/types.go | 61 +++++++++++-------- .../internal/pipeline/task_parse_resources.go | 9 +++ 2 files changed, 43 insertions(+), 27 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 62c33c5205e..9c9f51bf3a2 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -132,9 +132,10 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { JsonName: field.JsonField, ObjectDefinition: *objectDefinition, + ReadOnly: field.ReadOnly, + // TODO work these out Optional: true, - ReadOnly: false, Required: false, Sensitive: false, } @@ -154,20 +155,24 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { } type ModelField struct { - Title string - Type *DataType - Description string - Default interface{} - ItemType *DataType - ConstantName *string - ModelName *string - JsonField string + Title string + Type *DataType + Description string + Default interface{} + ReadOnly bool + WriteOnly bool + Nullable bool + AllowEmptyValue bool + ItemType *DataType + ConstantName *string + ModelName *string + JsonField string } func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObjectDefinition, error) { if f.ConstantName != nil { return &sdkModels.SDKObjectDefinition{ - NestedItem: nil, + Nullable: f.Nullable, ReferenceName: f.ConstantName, Type: sdkModels.ReferenceSDKObjectDefinitionType, }, nil @@ -192,7 +197,7 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj } return &sdkModels.SDKObjectDefinition{ - NestedItem: nil, + Nullable: f.Nullable, ReferenceName: f.ModelName, ReferenceNameIsCommonType: pointer.To(models[*f.ModelName].Common), Type: sdkModels.ReferenceSDKObjectDefinitionType, @@ -210,7 +215,7 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj return &sdkModels.SDKObjectDefinition{ NestedItem: &sdkModels.SDKObjectDefinition{ - NestedItem: nil, + Nullable: f.Nullable, ReferenceName: f.ModelName, ReferenceNameIsCommonType: pointer.To(models[*f.ModelName].Common), Type: sdkModels.ReferenceSDKObjectDefinitionType, @@ -224,24 +229,21 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj // TODO validate constant exists return &sdkModels.SDKObjectDefinition{ NestedItem: &sdkModels.SDKObjectDefinition{ - NestedItem: nil, + Nullable: f.Nullable, ReferenceName: f.ConstantName, Type: sdkModels.ReferenceSDKObjectDefinitionType, }, - ReferenceName: nil, - Type: sdkModels.ListSDKObjectDefinitionType, + Type: sdkModels.ListSDKObjectDefinitionType, }, nil } if f.ItemType != nil { return &sdkModels.SDKObjectDefinition{ NestedItem: &sdkModels.SDKObjectDefinition{ - NestedItem: nil, - ReferenceName: nil, - Type: f.ItemType.DataApiSdkObjectDefinitionType(), + Nullable: f.Nullable, + Type: f.ItemType.DataApiSdkObjectDefinitionType(), }, - ReferenceName: nil, - Type: sdkModels.ListSDKObjectDefinitionType, + Type: sdkModels.ListSDKObjectDefinitionType, }, nil } @@ -249,9 +251,8 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj } return &sdkModels.SDKObjectDefinition{ - NestedItem: nil, - ReferenceName: nil, - Type: f.Type.DataApiSdkObjectDefinitionType(), + Nullable: f.Nullable, + Type: f.Type.DataApiSdkObjectDefinitionType(), }, nil } @@ -681,12 +682,18 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta models[name] = &model for jsonField, schemaRef := range input.Schemas { + // maintainer note: this is a good place to add a breakpoint for inspecting model fields and constants as they are processed + // example breakpoint condition: name=="AdministrativeUnit" if schema := schemaRef.Value; schema != nil { field := ModelField{ - Title: cases.Title(language.AmericanEnglish, cases.NoLower).String(jsonField), - Description: schema.Description, - Default: schema.Default, - JsonField: jsonField, + Title: cases.Title(language.AmericanEnglish, cases.NoLower).String(jsonField), + Description: schema.Description, + Default: schema.Default, + ReadOnly: schemaRef.Value.ReadOnly, + WriteOnly: schemaRef.Value.WriteOnly, + Nullable: schemaRef.Value.Nullable, + AllowEmptyValue: schemaRef.Value.AllowEmptyValue, + JsonField: jsonField, } if field.Title == "" { diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index aa90c7db510..afc40d4335d 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -36,6 +36,11 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model continue } + // maintainer note: this is a good place to add a breakpoint for inspecting individual resources and their operations + // example breakpoint conditions: + // p.service=="administrativeUnits" + // path=="/applications/{application-id}/owners" + // len(path)>62 && path[:62]=="/directory/administrativeUnits/{administrativeUnit-id}/members" parsedPath := parser.NewResourceId(path, operationTags) lastSegment := parsedPath.Segments[len(parsedPath.Segments)-1] @@ -69,6 +74,10 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } + // maintainer note: this is a good place to add a breakpoint for inspecting individual resources and their operations + // example breakpoint conditions: + // resourceName=="ApplicationOwner" + // len(resourceName)>27 && resourceName[:27]=="DirectoryAdministrativeUnit" if _, ok := resources[resourceName]; !ok { // Create a new resource if not already encountered logging.Infof(fmt.Sprintf("Found new resource %q (category %q, service %q, version %q)", resourceName, resourceCategory, p.service, p.apiVersion)) From 8584a9e79c29f92573f671336b6ce295a21f2d9c Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 11 Aug 2024 03:42:01 +0100 Subject: [PATCH 044/134] importer-msgraph-metadata: add an explicit `ODataId` field to every model --- .../components/parser/types.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 9c9f51bf3a2..9b9cdebd47c 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -672,8 +672,18 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta return models, constants } + // Add an explicit ODataId field to each model, since it is inconsistently defined in the API specs. This won't be + // a valid field for every model, but it's impossible to tell which models support it, and it's effectively + // harmless to leave it in so long as it has the `omitempty` struct tag in the generated SDK. model := Model{ - Fields: make(map[string]*ModelField), + Fields: map[string]*ModelField{ + "ODataId": { + Title: "ODataId", + Type: pointer.To(DataTypeString), + Default: "", + JsonField: "@odata.id", + }, + }, Common: common, Prefix: input.Prefix, } From 76465fe041698dec17964b6f9ff1a38e06db9ba7 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 12 Aug 2024 02:02:56 +0100 Subject: [PATCH 045/134] generator-go-sdk: log gofmt/goimports invocations --- tools/generator-go-sdk/internal/generator/service.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/generator-go-sdk/internal/generator/service.go b/tools/generator-go-sdk/internal/generator/service.go index 6f9b99eb7e4..3da6c946b97 100644 --- a/tools/generator-go-sdk/internal/generator/service.go +++ b/tools/generator-go-sdk/internal/generator/service.go @@ -119,12 +119,14 @@ func (s *Generator) GenerateCommonTypes(input VersionGeneratorInput) error { } func runGoFmt(path string) { + logging.Debugf("Running gofmt -w %s..", path) cmd := exec.Command("gofmt", "-w", path) _ = cmd.Start() _ = cmd.Wait() } func runGoImports(path string) { + logging.Debugf("Running goimports -w %s..", path) cmd := exec.Command("goimports", "-w", path) _ = cmd.Start() _ = cmd.Wait() From a7efc77598db52cae381c6ae969c7dbe09589b86 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 12 Aug 2024 02:05:08 +0100 Subject: [PATCH 046/134] importer-msgraph-metadata: add an `@odata.bind` field for referenced `DirectoryObject` models --- .../components/parser/types.go | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 9b9cdebd47c..7ba8d3d3a3f 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -712,11 +712,13 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta result, _ := FlattenSchemaRef(schemaRef, nil) + // Determine any enumeration for the field enum := parseEnum(schema.Enum) if result != nil && len(result.Enum) > 0 && len(enum) == 0 { enum = parseEnum(result.Enum) } + // Find the corresponding model when the field refers to it, and set the model name for the field if result != nil && result.Title != "" && result.Schemas != nil { if _, ok := models[result.Title]; !ok { models, constants = Schemas(*result, result.Title, models, constants, common) @@ -724,16 +726,19 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta field.ModelName = &result.Title } + // Determine the item type for collections if schema.Items != nil && schema.Items.Value != nil && schema.Items.Value.Type != "" { field.ItemType = FieldType(schema.Items.Value.Type, schema.Items.Value.Format, field.ModelName != nil) } + // Match the field type to the referenced object, or set a basic type if result != nil && schema.Type == "" && schema.Format == "" && (result.Type != "" || result.Format != "") { field.Type = FieldType(result.Type, result.Format, field.ModelName != nil) } else { field.Type = FieldType(schema.Type, schema.Format, field.ModelName != nil) } + // Set the field type for enums; typically strings for constants, but could be any valid type if result != nil && field.Type != nil && *field.Type == DataTypeArray && len(enum) > 0 && (result.Type != "" || result.Format != "") { field.ItemType = FieldType(result.Type, result.Format, field.ModelName != nil) } @@ -743,6 +748,7 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta // This leads to some excessively long constant names, it is what it is. field.ConstantName = pointer.To(name + field.Title) + // Add the enumeration as a constant constants[*field.ConstantName] = &Constant{ Enum: enum, Type: field.Type, @@ -754,10 +760,32 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta continue } + // Insert an "@odata.bind" field where a field or collection refers to a DirectoryObject. The MS Graph + // OpenAPI spec unfortunately does not document relationships between entities. + if field.ModelName != nil && strings.EqualFold(*field.ModelName, "DirectoryObject") { + bindFieldName := fmt.Sprintf("%s_ODataBind", normalize.CleanName(jsonField)) + + var fieldType, itemType *DataType + + fieldType = pointer.To(DataTypeString) + if *field.Type == DataTypeArray { + fieldType = pointer.To(DataTypeArray) + itemType = pointer.To(DataTypeString) + } + + model.Fields[bindFieldName] = &ModelField{ + Title: bindFieldName, + Type: fieldType, + ItemType: itemType, + JsonField: fmt.Sprintf("%s@odata.bind", jsonField), + } + } + model.Fields[normalize.CleanName(jsonField)] = &field } } + // Abandon the model if it has no fields if !model.IsValid() { delete(models, name) } From 63b5705946a4fe88a90e50f9797103f4d147a9a5 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 12 Aug 2024 02:06:20 +0100 Subject: [PATCH 047/134] importer-msgraph-metadata: add data workaround for missing fields in `Application` model in beta API See: https://github.com/microsoftgraph/msgraph-metadata/issues/273 --- .../components/parser/types.go | 8 +-- .../workarounds/workaround_application.go | 55 +++++++++++++++++++ .../components/workarounds/workarounds.go | 42 ++++++++++++++ .../internal/pipeline/importer.go | 6 ++ 4 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_application.go create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workarounds.go diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 7ba8d3d3a3f..8d25db2d2e2 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -121,7 +121,7 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { if objectDefinition == nil { //return nil, fmt.Errorf("could not determine SDKObjectDefinition for field: %s", fieldName) - logging.Warnf("could not determine SDKObjectDefinition for field %q, skipping", fieldName) + logging.Warnf("Could not determine SDKObjectDefinition for field %q, skipping", fieldName) continue } @@ -193,7 +193,7 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj } if !models[*f.ModelName].IsValid() { - logging.Warnf("skipping field %q with type Model as the referenced model %q is invalid", f.Title, *f.ModelName) + logging.Warnf("Skipping field %q with type Model as the referenced model %q is invalid", f.Title, *f.ModelName) } return &sdkModels.SDKObjectDefinition{ @@ -210,7 +210,7 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj } if !models[*f.ModelName].IsValid() { - logging.Warnf("skipping field %q with type Array[Model] as the referenced model %q is invalid", f.Title, *f.ModelName) + logging.Warnf("Skipping field %q with type Array[Model] as the referenced model %q is invalid", f.Title, *f.ModelName) } return &sdkModels.SDKObjectDefinition{ @@ -756,7 +756,7 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta } if field.Type == nil { - logging.Warnf("skipping field %q in model %q because Type is nil", name, field.Title) + logging.Warnf("Skipping field %q in model %q because Type is nil", name, field.Title) continue } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go new file mode 100644 index 00000000000..bf20406379d --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go @@ -0,0 +1,55 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + + "github.com/hashicorp/go-azure-helpers/lang/pointer" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" +) + +var _ workaround = workaroundApplication{} + +// workaroundApplication works around missing fields in the Application model for the beta API. +// 1. Missing `oauth2RequirePostResponse` field. +// Upstream PR: https://github.com/microsoftgraph/msgraph-metadata/issues/273 +// 2. Missing `applicationTemplateId` field. +type workaroundApplication struct{} + +func (workaroundApplication) IsApplicable(apiVersion, modelName string, model *parser.Model) bool { + return apiVersion == versions.ApiVersionBeta && modelName == "Application" +} + +func (workaroundApplication) Name() string { + return "Application / missing fields in beta" +} + +func (workaroundApplication) Process(model *parser.Model) error { + // Add the `oauth2RequirePostResponse` field if missing + if _, ok := model.Fields["OAuth2RequirePostResponse"]; !ok { + model.Fields["OAuth2RequirePostResponse"] = &parser.ModelField{ + Title: "OAuth2RequirePostResponse", + Description: "Specifies whether, as part of OAuth 2.0 token requests, Microsoft Entra ID allows POST requests, as opposed to GET requests. The default is false, which specifies that only GET requests are allowed.", + Type: pointer.To(parser.DataTypeBool), + JsonField: "oauth2RequirePostResponse", + } + } + + // Add the `applicationTemplateId` field if missing + if _, ok := model.Fields["ApplicationTemplateId"]; !ok { + fmt.Println("fo") + + model.Fields["ApplicationTemplateId"] = &parser.ModelField{ + Title: "ApplicationTemplateId", + Description: "Unique identifier of the applicationTemplate. Supports $filter (eq, not, ne). Read-only. null if the app wasn't created from an application template.", + Type: pointer.To(parser.DataTypeString), + JsonField: "applicationTemplateId", + Nullable: true, + } + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go new file mode 100644 index 00000000000..1b232d9e8f1 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -0,0 +1,42 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" +) + +var workarounds = []workaround{ + workaroundApplication{}, +} + +type workaround interface { + // IsApplicable determines whether this workaround is applicable for this AzureApiDefinition + IsApplicable(string, string, *parser.Model) bool + + // Name returns the Service Name and associated Pull Request number + Name() string + + // Process takes the apiDefinition and applies the Workaround to this AzureApiDefinition + Process(*parser.Model) error +} + +func ApplyWorkarounds(apiVersion string, models parser.Models) error { + logging.Tracef("Processing Data Workarounds..") + for modelName, model := range models { + for _, fix := range workarounds { + if fix.IsApplicable(apiVersion, modelName, model) { + logging.Tracef("Applying Data Workaround %q to Model %q", fix.Name(), modelName) + if err := fix.Process(model); err != nil { + return fmt.Errorf("applying Data Workaround %q to Model %q: %v", fix.Name(), modelName, err) + } + } + } + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/importer.go b/tools/importer-msgraph-metadata/internal/pipeline/importer.go index 0fcc6c19cde..214017e296d 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/importer.go @@ -13,6 +13,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/tags" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/workarounds" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" "github.com/hashicorp/pandora/tools/sdk/config/services" ) @@ -67,6 +68,11 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha return err } + logging.Infof("Applying workarounds for invalid model definitions..") + if err = workarounds.ApplyWorkarounds(p.apiVersion, p.models); err != nil { + return err + } + logging.Infof("Parsing resource IDs...") p.resourceIds, err = parser.ParseResourceIDs(p.spec.Paths, nil) if err != nil { From 5b4b818fcf3ccd748bd2d3605193e3c7e6f83d27 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 14 Aug 2024 01:46:50 +0100 Subject: [PATCH 048/134] generator-go-sdk: support unmarshaling discriminated types directly for operations --- .../internal/generator/templater_methods.go | 124 +++++++++++------- 1 file changed, 75 insertions(+), 49 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index d78c812c0b7..c4c8ea2d467 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -602,33 +602,55 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin return pointer.To(""), nil } - if c.operation.ResponseObject != nil { - golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) - if err != nil { - return nil, fmt.Errorf("determing golang type name for response object: %+v", err) + if c.operation.ResponseObject == nil { + return &output, nil + } + + golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) + if err != nil { + return nil, fmt.Errorf("determing golang type name for response object: %+v", err) + } + typeName := *golangTypeName + + discriminatedTypeParentName := "" + + var model *models.SDKModel + modelPackage := "" + modelName := typeName + if s := strings.SplitN(modelName, ".", 2); len(s) == 2 { + modelPackage = s[0] + modelName = s[1] + } + if m, ok := data.models[modelName]; ok { + model = &m + } else if m, ok = data.commonTypes.Models[modelName]; ok { + model = &m + } + + if model != nil { + // it's either a parent model + if model.FieldNameContainingDiscriminatedValue != nil { + discriminatedTypeParentName = modelName + } + // or an implementation referencing a parent + if model.ParentTypeName != nil { + discriminatedTypeParentName = *model.ParentTypeName } - typeName := *golangTypeName - discriminatedTypeParentName := "" - if model, ok := data.models[typeName]; ok { - // it's either a parent model - if model.FieldNameContainingDiscriminatedValue != nil { - discriminatedTypeParentName = typeName - } - // or an implementation referencing a parent - if model.ParentTypeName != nil { - discriminatedTypeParentName = *model.ParentTypeName - } + if model.DiscriminatedValue != nil { + // in this instance this would be a discriminated implementation present in the response object + // as such we should use that directly, rather than calling the parents unmarshal function + discriminatedTypeParentName = "" + } + } - if model.DiscriminatedValue != nil { - // in this instance this would be a discriminated implementation present in the response object - // as such we should use that directly, rather than calling the parents unmarshal function - discriminatedTypeParentName = "" - } + if c.operation.FieldContainingPaginationDetails != nil { + unmarshaler := fmt.Sprintf("unmarshal%sImplementation", modelName) + if modelPackage != "" { + unmarshaler = fmt.Sprintf("%s.unmarshal%sImplementation", modelPackage, modelName) } - if c.operation.FieldContainingPaginationDetails != nil { - output = fmt.Sprintf(` + output = fmt.Sprintf(` var values struct { Values *[]%[1]s %[2]s } @@ -639,10 +661,10 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin result.Model = values.Values `, typeName, "`json:\"value\"`") - if discriminatedTypeParentName != "" { - output = fmt.Sprintf(` + if discriminatedTypeParentName != "" { + output = fmt.Sprintf(` var values struct { - Values *[]json.RawMessage %[2]s + Values *[]json.RawMessage %[3]s } if err = resp.Unmarshal(&values); err != nil { return @@ -651,7 +673,7 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin temp := make([]%[1]s, 0) if values.Values != nil { for i, v := range *values.Values { - val, err := unmarshal%[1]sImplementation(v) + val, err := %[2]s(v) if err != nil { err = fmt.Errorf("unmarshalling item %%d for %[1]s (%%q): %%+v", i, v, err) return result, err @@ -660,49 +682,53 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin } } result.Model = &temp -`, typeName, "`json:\"value\"`") - } +`, typeName, unmarshaler, "`json:\"value\"`") + } + + return &output, nil + } - return &output, nil + // when this is a Discriminated Type (either the Parent or the Implementation, call the `unmarshal` func + // for the relevant Parent + if discriminatedTypeParentName != "" { + unmarshaler := fmt.Sprintf("unmarshal%sImplementation", discriminatedTypeParentName) + if modelPackage != "" { + unmarshaler = fmt.Sprintf("%s.unmarshal%sImplementation", modelPackage, discriminatedTypeParentName) } - // when this is a Discriminated Type (either the Parent or the Implementation, call the `unmarshal` func - // for the relevant Parent - if discriminatedTypeParentName != "" { - output = fmt.Sprintf(` + output = fmt.Sprintf(` var respObj json.RawMessage if err = resp.Unmarshal(&respObj); err != nil { return } - model, err := unmarshal%sImplementation(respObj) + model, err := %s(respObj) if err != nil { return } result.Model = &model -`, discriminatedTypeParentName) - } else { - responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) - if err != nil { - return nil, fmt.Errorf("determing golang type name for response object: %+v", err) - } - if responseModelType != nil { - if c.operation.FieldContainingPaginationDetails != nil { - output = fmt.Sprintf(` +`, unmarshaler) + } else { + responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) + if err != nil { + return nil, fmt.Errorf("determing golang type name for response object: %+v", err) + } + if responseModelType != nil { + if c.operation.FieldContainingPaginationDetails != nil { + output = fmt.Sprintf(` var model []%s`, *responseModelType) - } else { - output = fmt.Sprintf(` + } else { + output = fmt.Sprintf(` var model %s`, *responseModelType) - } - output = fmt.Sprintf(`%s - result.Model = &model`, output) } output = fmt.Sprintf(`%s + result.Model = &model`, output) + } + output = fmt.Sprintf(`%s if err = resp.Unmarshal(result.Model); err != nil { return } `, output) - } } return &output, nil From b44f8e371073b0f9183fde8922c01a181a86364d Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 14 Aug 2024 01:48:55 +0100 Subject: [PATCH 049/134] importer-msgraph-metadata: support for discriminated types --- .../components/parser/types.go | 83 +++++++++++-------- 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 8d25db2d2e2..dda87e52d74 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -12,8 +12,6 @@ import ( sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" - "golang.org/x/text/cases" - "golang.org/x/text/language" ) /* =================== @@ -98,9 +96,12 @@ type Constant struct { } type Model struct { - Fields map[string]*ModelField - Common bool - Prefix string + Fields map[string]*ModelField + Common bool + Prefix string + TypeField *string + TypeValue *string + ParentModelName *string } func (m *Model) IsValid() bool { @@ -126,7 +127,7 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { } sdkFields[fieldName] = sdkModels.SDKField{ - ContainsDiscriminatedValue: false, + ContainsDiscriminatedValue: field.DiscriminatedValue, DateFormat: nil, Description: field.Description, JsonName: field.JsonField, @@ -145,28 +146,28 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { return nil, nil } - // TODO support discriminated types (good example: conditional access named locations) return &sdkModels.SDKModel{ - DiscriminatedValue: nil, - FieldNameContainingDiscriminatedValue: nil, + DiscriminatedValue: m.TypeValue, + FieldNameContainingDiscriminatedValue: m.TypeField, Fields: sdkFields, - ParentTypeName: nil, + ParentTypeName: m.ParentModelName, }, nil } type ModelField struct { - Title string - Type *DataType - Description string - Default interface{} - ReadOnly bool - WriteOnly bool - Nullable bool - AllowEmptyValue bool - ItemType *DataType - ConstantName *string - ModelName *string - JsonField string + Title string + Type *DataType + Description string + Default interface{} + ReadOnly bool + WriteOnly bool + Nullable bool + AllowEmptyValue bool + DiscriminatedValue bool + ItemType *DataType + ConstantName *string + ModelName *string + JsonField string } func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObjectDefinition, error) { @@ -672,9 +673,9 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta return models, constants } - // Add an explicit ODataId field to each model, since it is inconsistently defined in the API specs. This won't be - // a valid field for every model, but it's impossible to tell which models support it, and it's effectively - // harmless to leave it in so long as it has the `omitempty` struct tag in the generated SDK. + // Add an explicit ODataId and ODataType field to each model, since it is inconsistently defined in the API specs. + // This won't be valid for every model, but it's impossible to tell which models support them, and it's effectively + // harmless to leave these in so long as they have the `omitempty` struct tag in the generated SDK. model := Model{ Fields: map[string]*ModelField{ "ODataId": { @@ -683,6 +684,12 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta Default: "", JsonField: "@odata.id", }, + "ODataType": { + Title: "ODataType", + Type: pointer.To(DataTypeString), + Default: "", + JsonField: "@odata.type", + }, }, Common: common, Prefix: input.Prefix, @@ -696,7 +703,7 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta // example breakpoint condition: name=="AdministrativeUnit" if schema := schemaRef.Value; schema != nil { field := ModelField{ - Title: cases.Title(language.AmericanEnglish, cases.NoLower).String(jsonField), + Title: normalize.CleanName(jsonField), Description: schema.Description, Default: schema.Default, ReadOnly: schemaRef.Value.ReadOnly, @@ -726,9 +733,22 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta field.ModelName = &result.Title } - // Determine the item type for collections - if schema.Items != nil && schema.Items.Value != nil && schema.Items.Value.Type != "" { - field.ItemType = FieldType(schema.Items.Value.Type, schema.Items.Value.Format, field.ModelName != nil) + // Handle items for collections + if schema.Items != nil && schema.Items.Value != nil { + itemsResult, _ := FlattenSchemaRef(schema.Items, nil) + + // Determine any type for the items + if schema.Items.Value.Type != "" || schema.Items.Value.Format != "" { + field.ItemType = FieldType(schema.Items.Value.Type, schema.Items.Value.Format, field.ModelName != nil) + } + + // Find the corresponding model when the field (items) refers to it, and set the model name for the field items + if itemsResult != nil && itemsResult.Title != "" && itemsResult.Type == "object" { + if _, ok := models[result.Title]; !ok { + models, constants = Schemas(*result, result.Title, models, constants, common) + } + field.ModelName = &result.Title + } } // Match the field type to the referenced object, or set a basic type @@ -785,11 +805,6 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta } } - // Abandon the model if it has no fields - if !model.IsValid() { - delete(models, name) - } - return models, constants } From c61162353f45e1892af65f076367a6426c4e0596 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 14 Aug 2024 01:50:24 +0100 Subject: [PATCH 050/134] importer-msgraph-metadata: workaround for making NamedLocation a discriminated type, since there is no useful data surfaced in the specs --- .../workarounds/workaround_application.go | 15 ++- .../workarounds/workaround_iprange.go | 97 +++++++++++++++++++ .../workarounds/workaround_namedlocation.go | 69 +++++++++++++ .../components/workarounds/workarounds.go | 21 ++-- .../internal/pipeline/importer.go | 8 +- 5 files changed, 188 insertions(+), 22 deletions(-) create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go index bf20406379d..d27aa820d9b 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go @@ -19,15 +19,20 @@ var _ workaround = workaroundApplication{} // 2. Missing `applicationTemplateId` field. type workaroundApplication struct{} -func (workaroundApplication) IsApplicable(apiVersion, modelName string, model *parser.Model) bool { - return apiVersion == versions.ApiVersionBeta && modelName == "Application" -} - func (workaroundApplication) Name() string { return "Application / missing fields in beta" } -func (workaroundApplication) Process(model *parser.Model) error { +func (workaroundApplication) Process(apiVersion string, models parser.Models, constants parser.Constants) error { + if apiVersion != versions.ApiVersionBeta { + return nil + } + + model, ok := models["Application"] + if !ok { + return fmt.Errorf("`Application` model not found") + } + // Add the `oauth2RequirePostResponse` field if missing if _, ok := model.Fields["OAuth2RequirePostResponse"]; !ok { model.Fields["OAuth2RequirePostResponse"] = &parser.ModelField{ diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go new file mode 100644 index 00000000000..f66abd30778 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go @@ -0,0 +1,97 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + + "github.com/hashicorp/go-azure-helpers/lang/pointer" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +var _ workaround = workaroundIPRange{} + +// workaroundIPRange implements discrimination +type workaroundIPRange struct{} + +func (workaroundIPRange) Name() string { + return "IPRange / discrimination" +} + +func (workaroundIPRange) Process(apiVersion string, models parser.Models, constants parser.Constants) error { + // microsoft.graph.ipRange model is empty and is omitted by the OpenAPI parser + models["IPRange"] = &parser.Model{ + Fields: map[string]*parser.ModelField{ + "ODataId": { + Title: "ODataId", + Type: pointer.To(parser.DataTypeString), + Default: "", + JsonField: "@odata.id", + }, + "ODataType": { + Title: "ODataType", + Type: pointer.To(parser.DataTypeString), + ConstantName: pointer.To("IPRangeType"), + Default: "", + DiscriminatedValue: true, + JsonField: "@odata.type", + }, + }, + Common: true, + TypeField: pointer.To("ODataType"), + } + + if _, ok := constants["IPRangeType"]; ok { + return fmt.Errorf("`IPRangeType` constant already defined") + } + + // Add constant values for the discriminated type value + constants["IPRangeType"] = &parser.Constant{ + Enum: []string{ + "#microsoft.graph.iPv4CidrRange", + "#microsoft.graph.iPv4Range", + "#microsoft.graph.iPv6CidrRange", + "#microsoft.graph.iPv6Range", + }, + Type: pointer.To(parser.DataTypeString), + } + + // Set the parent model and discriminated type value for IPv4CIDRRange + model, ok := models["IPv4CIDRRange"] + if !ok { + return fmt.Errorf("`IPv4CIDRRange` model not found") + } + model.ParentModelName = pointer.To("IPRange") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.iPv4CidrRange") + + // Set the parent model and discriminated type value for IPv4Range + model, ok = models["IPv4Range"] + if !ok { + return fmt.Errorf("`IPv4Range` model not found") + } + model.ParentModelName = pointer.To("IPRange") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.iPv4Range") + + // Set the parent model and discriminated type value for IPv6CIDRRange + model, ok = models["IPv6CIDRRange"] + if !ok { + return fmt.Errorf("`IPv6CIDRRange` model not found") + } + model.ParentModelName = pointer.To("IPRange") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.iPv6CidrRange") + + // Set the parent model and discriminated type value for IPv6Range + model, ok = models["IPv6Range"] + if !ok { + return fmt.Errorf("`IPv6Range` model not found") + } + model.ParentModelName = pointer.To("IPRange") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.iPv6Range") + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go new file mode 100644 index 00000000000..8a66c1994a8 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go @@ -0,0 +1,69 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + + "github.com/hashicorp/go-azure-helpers/lang/pointer" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +var _ workaround = workaroundNamedLocation{} + +// workaroundNamedLocation implements discrimination +type workaroundNamedLocation struct{} + +func (workaroundNamedLocation) Name() string { + return "NamedLocation / discrimination" +} + +func (workaroundNamedLocation) Process(apiVersion string, models parser.Models, constants parser.Constants) error { + model, ok := models["NamedLocation"] + if !ok { + return fmt.Errorf("`NamedLocation` model not found") + } + + if _, ok = model.Fields["ODataType"]; !ok { + return fmt.Errorf("`ODataType` field not found in `NamedLocation` model") + } + + // Set the constant reference and discriminated flag for the @odata.type field + model.Fields["ODataType"].ConstantName = pointer.To("NamedLocationType") + model.Fields["ODataType"].DiscriminatedValue = true + model.TypeField = pointer.To("ODataType") + + if _, ok = constants["NamedLocationType"]; ok { + return fmt.Errorf("`NamedLocationType` constant already defined") + } + + // Add constant values for the discriminated type value + constants["NamedLocationType"] = &parser.Constant{ + Enum: []string{ + "#microsoft.graph.countryNamedLocation", + "#microsoft.graph.ipNamedLocation", + }, + Type: pointer.To(parser.DataTypeString), + } + + // Set the parent model and discriminated type value for CountryNamedLocation + model, ok = models["CountryNamedLocation"] + if !ok { + return fmt.Errorf("`CountryNamedLocation` model not found") + } + model.ParentModelName = pointer.To("NamedLocation") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.countryNamedLocation") + + // Set the parent model and discriminated type value for CountryNamedLocation + model, ok = models["IPNamedLocation"] + if !ok { + return fmt.Errorf("`IPNamedLocation` model not found") + } + model.ParentModelName = pointer.To("NamedLocation") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.ipNamedLocation") + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index 1b232d9e8f1..5ab9f154fe2 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -12,29 +12,24 @@ import ( var workarounds = []workaround{ workaroundApplication{}, + workaroundNamedLocation{}, + workaroundIPRange{}, } type workaround interface { - // IsApplicable determines whether this workaround is applicable for this AzureApiDefinition - IsApplicable(string, string, *parser.Model) bool - // Name returns the Service Name and associated Pull Request number Name() string // Process takes the apiDefinition and applies the Workaround to this AzureApiDefinition - Process(*parser.Model) error + Process(string, parser.Models, parser.Constants) error } -func ApplyWorkarounds(apiVersion string, models parser.Models) error { +func ApplyWorkarounds(apiVersion string, models parser.Models, constants parser.Constants) error { logging.Tracef("Processing Data Workarounds..") - for modelName, model := range models { - for _, fix := range workarounds { - if fix.IsApplicable(apiVersion, modelName, model) { - logging.Tracef("Applying Data Workaround %q to Model %q", fix.Name(), modelName) - if err := fix.Process(model); err != nil { - return fmt.Errorf("applying Data Workaround %q to Model %q: %v", fix.Name(), modelName, err) - } - } + for _, fix := range workarounds { + logging.Tracef("Applying Data Workaround %q to Model %q", fix.Name()) + if err := fix.Process(apiVersion, models, constants); err != nil { + return fmt.Errorf("applying Data Workaround %q: %v", fix.Name(), err) } } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/importer.go b/tools/importer-msgraph-metadata/internal/pipeline/importer.go index 214017e296d..14dcf54e6cc 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/importer.go @@ -63,13 +63,13 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha return err } - logging.Infof("Cleaning up models...") - if err = p.cleanupModels(); err != nil { + logging.Infof("Applying workarounds for invalid model definitions..") + if err = workarounds.ApplyWorkarounds(p.apiVersion, p.models, p.constants); err != nil { return err } - logging.Infof("Applying workarounds for invalid model definitions..") - if err = workarounds.ApplyWorkarounds(p.apiVersion, p.models); err != nil { + logging.Infof("Cleaning up models...") + if err = p.cleanupModels(); err != nil { return err } From 585af0c99d594814322e7dfc3c315c82804f83fe Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 14 Aug 2024 01:51:00 +0100 Subject: [PATCH 051/134] importer-msgraph-metadata: manual casing fixes for `Ip` => `IP` and `Cidr` => `CIDR` --- .../components/normalize/normalize.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize.go b/tools/importer-msgraph-metadata/components/normalize/normalize.go index 86d2effb0d6..c6cd1876091 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize.go +++ b/tools/importer-msgraph-metadata/components/normalize/normalize.go @@ -87,6 +87,12 @@ func CleanName(name string) string { // Innererror should be InnerError name = regexp.MustCompile("^Innererror").ReplaceAllString(name, "InnerError") + // Ip[A-Zv] should be IP[A-Zv] + name = regexp.MustCompile("Ip([A-Zv])").ReplaceAllString(name, "IP${1}") + + // Cidr should be CIDR + name = regexp.MustCompile("Cidr").ReplaceAllString(name, "CIDR") + // Oauth should be OAuth name = regexp.MustCompile("^Oauth").ReplaceAllString(name, "OAuth") From c3a1f0268708802ff82aaa70e68477b87f91fd30 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 14 Aug 2024 01:54:27 +0100 Subject: [PATCH 052/134] generator-go-sdk: export the `Unmarshal{Name}Implementation` function since it may reside in a different package to the client/methods --- .../internal/generator/templater_methods.go | 8 ++++---- .../internal/generator/templater_models.go | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index c4c8ea2d467..9e5e6f865d3 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -645,9 +645,9 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin } if c.operation.FieldContainingPaginationDetails != nil { - unmarshaler := fmt.Sprintf("unmarshal%sImplementation", modelName) + unmarshaler := fmt.Sprintf("Unmarshal%sImplementation", modelName) if modelPackage != "" { - unmarshaler = fmt.Sprintf("%s.unmarshal%sImplementation", modelPackage, modelName) + unmarshaler = fmt.Sprintf("%s.Unmarshal%sImplementation", modelPackage, modelName) } output = fmt.Sprintf(` @@ -691,9 +691,9 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin // when this is a Discriminated Type (either the Parent or the Implementation, call the `unmarshal` func // for the relevant Parent if discriminatedTypeParentName != "" { - unmarshaler := fmt.Sprintf("unmarshal%sImplementation", discriminatedTypeParentName) + unmarshaler := fmt.Sprintf("Unmarshal%sImplementation", discriminatedTypeParentName) if modelPackage != "" { - unmarshaler = fmt.Sprintf("%s.unmarshal%sImplementation", modelPackage, discriminatedTypeParentName) + unmarshaler = fmt.Sprintf("%s.Unmarshal%sImplementation", modelPackage, discriminatedTypeParentName) } output = fmt.Sprintf(` diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 217785ca349..cb86f240c84 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -420,7 +420,7 @@ func (c modelsTemplater) codeForUnmarshalFunctions(data GeneratorData) (*string, } func (c modelsTemplater) codeForUnmarshalParentFunction(data GeneratorData) (*string, error) { - // if this is a Discriminated Type (e.g. Parent) then we need to generate a unmarshal{Name}Implementations + // if this is a Discriminated Type (e.g. Parent) then we need to generate an Unmarshal{Name}Implementation // function which can be used in any usages lines := make([]string, 0) if c.model.IsDiscriminatedParentType() { @@ -450,7 +450,7 @@ func (c modelsTemplater) codeForUnmarshalParentFunction(data GeneratorData) (*st // NOTE: unmarshaling null returns an empty map, which'll mean the `ok` fails // the 'type' field being omitted will also mean that `ok` is false lines = append(lines, fmt.Sprintf(` -func unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { +func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { if input == nil { return nil, nil } @@ -630,7 +630,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) output := make(map[string]%[2]s) for key, val := range dictionaryTemp { - impl, err := unmarshal%[2]sImplementation(val) + impl, err := Unmarshal%[2]sImplementation(val) if err != nil { return fmt.Errorf("unmarshaling key %%q field '%[1]s' for '%[3]s': %%+v", key, err) } @@ -665,7 +665,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) output := make([]%[2]s, 0) for i, val := range listTemp { - impl, err := unmarshal%[2]sImplementation(val) + impl, err := Unmarshal%[2]sImplementation(val) if err != nil { return fmt.Errorf("unmarshaling index %%d field '%[1]s' for '%[3]s': %%+v", i, err) } @@ -678,7 +678,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) if fieldDetails.ObjectDefinition.Type == models.ReferenceSDKObjectDefinitionType { lines = append(lines, fmt.Sprintf(` if v, ok := temp[%[4]q]; ok { - impl, err := unmarshal%[2]sImplementation(v) + impl, err := Unmarshal%[2]sImplementation(v) if err != nil { return fmt.Errorf("unmarshaling field '%[1]s' for '%[3]s': %%+v", err) } From 7f663b61e91cd638eed1547acec287869e661468 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 14 Aug 2024 02:19:43 +0100 Subject: [PATCH 053/134] importer-msgraph-metadata: fix bug that generated constant fields without first checking for array --- .../components/parser/types.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index dda87e52d74..17cedb1f0ca 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -171,14 +171,6 @@ type ModelField struct { } func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObjectDefinition, error) { - if f.ConstantName != nil { - return &sdkModels.SDKObjectDefinition{ - Nullable: f.Nullable, - ReferenceName: f.ConstantName, - Type: sdkModels.ReferenceSDKObjectDefinitionType, - }, nil - } - if f.Type == nil { return nil, fmt.Errorf("field %q has no Type", f.Title) } @@ -251,6 +243,14 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj return nil, nil } + if f.ConstantName != nil { + return &sdkModels.SDKObjectDefinition{ + Nullable: f.Nullable, + ReferenceName: f.ConstantName, + Type: sdkModels.ReferenceSDKObjectDefinitionType, + }, nil + } + return &sdkModels.SDKObjectDefinition{ Nullable: f.Nullable, Type: f.Type.DataApiSdkObjectDefinitionType(), From 3d03964d653b4c3e338db3e18dacaf57c1369408 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 14 Aug 2024 02:27:00 +0100 Subject: [PATCH 054/134] importer-msgraph-metadata: singularize constant names --- tools/importer-msgraph-metadata/components/parser/types.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 17cedb1f0ca..4aa3ce8d79f 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -766,7 +766,7 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta if ((field.Type != nil && *field.Type == DataTypeString) || (field.ItemType != nil && *field.ItemType == DataTypeString)) && len(enum) > 0 { // Despite being "fully qualified", type names are not unique in MS Graph, so we prefix them with the field name to provide some namespacing. // This leads to some excessively long constant names, it is what it is. - field.ConstantName = pointer.To(name + field.Title) + field.ConstantName = pointer.To(normalize.Singularize(name + field.Title)) // Add the enumeration as a constant constants[*field.ConstantName] = &Constant{ From d66faaca977ab42c9421db82b5a96c4b5553e775 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 00:21:29 +0100 Subject: [PATCH 055/134] generator-go-sdk: support Required + Nullable model fields, and generating models with field descriptions as comments --- .../internal/transforms/sdk_field.go | 23 ++++--- .../generator-go-sdk/internal/cmd/generate.go | 3 +- .../internal/featureflags/flags.go | 4 +- .../internal/generator/data.go | 69 ++++++++++--------- .../internal/generator/settings.go | 1 + .../internal/generator/templater_models.go | 23 ++++++- 6 files changed, 77 insertions(+), 46 deletions(-) diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_field.go b/tools/data-api-repository/repository/internal/transforms/sdk_field.go index 787b79fe5c5..8365a6980c3 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_field.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_field.go @@ -49,19 +49,22 @@ func mapSDKFieldToRepository(fieldName string, input sdkModels.SDKField, isTypeH return nil, fmt.Errorf("mapping the ObjectDefinition for field %q: %+v", fieldName, err) } + var description *string + if input.Description != "" { + description = pointer.To(input.Description) + } + output := repositoryModels.ModelField{ ContainsDiscriminatedTypeValue: isTypeHint, DateFormat: nil, - Description: nil, - // TODO this can be uncommented when #3325 has been fixed - // Description: input.Description, - JsonName: input.JsonName, - Name: fieldName, - ObjectDefinition: *objectDefinition, - Optional: input.Optional, - ReadOnly: input.ReadOnly, - Required: input.Required, - Sensitive: input.Sensitive, + Description: description, + JsonName: input.JsonName, + Name: fieldName, + ObjectDefinition: *objectDefinition, + Optional: input.Optional, + ReadOnly: input.ReadOnly, + Required: input.Required, + Sensitive: input.Sensitive, } if input.DateFormat != nil { dateFormat, err := mapSDKDateFormatToRepository(*input.DateFormat) diff --git a/tools/generator-go-sdk/internal/cmd/generate.go b/tools/generator-go-sdk/internal/cmd/generate.go index 8c46041d351..3fa2de78bec 100644 --- a/tools/generator-go-sdk/internal/cmd/generate.go +++ b/tools/generator-go-sdk/internal/cmd/generate.go @@ -59,6 +59,7 @@ func (g GenerateCommand) Run(args []string) int { } if g.sourceDataType == models.MicrosoftGraphSourceDataType { + input.settings.GenerateDescriptionsForModels = true input.settings.CanonicalApiVersions = map[string]string{ "stable": "v1.0", } @@ -81,7 +82,7 @@ func (g GenerateCommand) Run(args []string) int { // is sent in the Request to update or remove a Key Vault Access Policy - and using other casings mean the update // or removal fails - which is tracked in https://github.com/hashicorp/pandora/issues/3229. // - // After testing it appears that `2023-07-01` doesn't suffer from this problem - as such we're going to leave + // After testing, it appears that `2023-07-01` doesn't suffer from this problem - as such we're going to leave // `2023-02-01` on the older base layer and use the newer API Version as a divide to give us a clear migration path. "KeyVault@2023-02-01", ) diff --git a/tools/generator-go-sdk/internal/featureflags/flags.go b/tools/generator-go-sdk/internal/featureflags/flags.go index ca2ffdb1e23..80035b2d71a 100644 --- a/tools/generator-go-sdk/internal/featureflags/flags.go +++ b/tools/generator-go-sdk/internal/featureflags/flags.go @@ -17,8 +17,8 @@ const OptionalDiscriminatorsShouldBeOutputWithoutOmitEmpty = false // functions should be generated. const GenerateCaseInsensitiveFunctions = true -// SkipDiscriminatedParentTypes returns whether or not the feature for skipping generation of -// discriminated parent types is enabled. +// SkipDiscriminatedParentTypes returns whether the feature is enabled for skipping generation of +// discriminated parent types. func SkipDiscriminatedParentTypes() bool { value := os.Getenv("PANDORA_SKIP_DISCRIMINATED_PARENT_TYPE") if value == "" { diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index 789362bb6d0..ddf14847d47 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -74,6 +74,9 @@ type GeneratorData struct { // the package name for the API version versionPackageName string + // whether descriptions should be generated for model fields etc. + generateDescriptionsForModels bool + // whether this is a data plane SDK (omits certain Resource Manager specific features, currently used in ID parsers) isDataPlane bool @@ -104,24 +107,25 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { } return GeneratorData{ - apiVersion: i.VersionName, - canonicalApiVersion: settings.CanonicalApiVersion(i.VersionName), - baseClientPackage: baseClientPackageForSdk(i.Type), - commonTypes: i.CommonTypes, - commonTypesIncludePath: commonTypesIncludePath, - commonTypesPackageName: commonTypesPackageName, - constants: i.ResourceDetails.Constants, - isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), - models: i.ResourceDetails.Models, - operations: i.ResourceDetails.Operations, - packageName: resourcePackageName, - resourceIds: i.ResourceDetails.ResourceIDs, - resourceOutputPath: resourceOutputPath, - serviceClientName: fmt.Sprintf("%sClient", strings.Title(i.ResourceName)), - servicePackageName: strings.ToLower(i.ServiceName), - source: i.Source, - sourceType: i.Type, - useNewBaseLayer: useNewBaseLayer, + apiVersion: i.VersionName, + canonicalApiVersion: settings.CanonicalApiVersion(i.VersionName), + baseClientPackage: baseClientPackageForSdk(i.Type), + commonTypes: i.CommonTypes, + commonTypesIncludePath: commonTypesIncludePath, + commonTypesPackageName: commonTypesPackageName, + constants: i.ResourceDetails.Constants, + generateDescriptionsForModels: settings.GenerateDescriptionsForModels, + isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), + models: i.ResourceDetails.Models, + operations: i.ResourceDetails.Operations, + packageName: resourcePackageName, + resourceIds: i.ResourceDetails.ResourceIDs, + resourceOutputPath: resourceOutputPath, + serviceClientName: fmt.Sprintf("%sClient", strings.Title(i.ResourceName)), + servicePackageName: strings.ToLower(i.ServiceName), + source: i.Source, + sourceType: i.Type, + useNewBaseLayer: useNewBaseLayer, } } @@ -156,20 +160,21 @@ func (i VersionGeneratorInput) generatorData(settings Settings) VersionGenerator return VersionGeneratorData{ GeneratorData: GeneratorData{ - apiVersion: i.VersionName, - canonicalApiVersion: settings.CanonicalApiVersion(i.VersionName), - baseClientPackage: baseClientPackageForSdk(i.Type), - commonTypes: i.CommonTypes, - constants: i.CommonTypes.Constants, - isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), - models: i.CommonTypes.Models, - packageName: versionPackageName, - servicePackageName: strings.ToLower(i.ServiceName), - source: i.Source, - sourceType: i.Type, - useNewBaseLayer: useNewBaseLayer, - versionDirectoryName: versionDirectoryName, - versionPackageName: versionPackageName, + apiVersion: i.VersionName, + canonicalApiVersion: settings.CanonicalApiVersion(i.VersionName), + baseClientPackage: baseClientPackageForSdk(i.Type), + commonTypes: i.CommonTypes, + constants: i.CommonTypes.Constants, + generateDescriptionsForModels: settings.GenerateDescriptionsForModels, + isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), + models: i.CommonTypes.Models, + packageName: versionPackageName, + servicePackageName: strings.ToLower(i.ServiceName), + source: i.Source, + sourceType: i.Type, + useNewBaseLayer: useNewBaseLayer, + versionDirectoryName: versionDirectoryName, + versionPackageName: versionPackageName, }, commonTypesOutputPath: commonTypesOutputPath, resources: i.Resources, diff --git a/tools/generator-go-sdk/internal/generator/settings.go b/tools/generator-go-sdk/internal/generator/settings.go index ee4d720e606..86fefd6bde4 100644 --- a/tools/generator-go-sdk/internal/generator/settings.go +++ b/tools/generator-go-sdk/internal/generator/settings.go @@ -12,6 +12,7 @@ import ( type Settings struct { CanonicalApiVersions map[string]string CommonTypesPackageName string + GenerateDescriptionsForModels bool VersionsToGenerateCommonTypes map[string]models.SourceDataOrigin servicesUsingOldBaseLayer map[string]struct{} } diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index cb86f240c84..e81b3537cba 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -167,12 +167,25 @@ type Raw%[1]sImpl struct { } } + formattedStructLines := make([]string, 0) + for i, v := range structLines { + if strings.Contains(v, "//") { + if i > 0 && !strings.HasSuffix(formattedStructLines[i-1], "\n") { + v = "\n" + v + } + if i < len(structLines)-1 { + v += "\n" + } + } + formattedStructLines = append(formattedStructLines, v) + } + out := fmt.Sprintf(` %[3]s type %[1]s struct { %[2]s } -`, c.name, strings.Join(structLines, "\n"), parentAssignmentInfo) +`, c.name, strings.Join(formattedStructLines, "\n"), parentAssignmentInfo) return &out, nil } @@ -229,9 +242,17 @@ func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDe fieldType = fmt.Sprintf("*%s", fieldType) } jsonDetails += ",omitempty" + } else if fieldDetails.ObjectDefinition.Nullable && !strings.HasPrefix(fieldType, "nullable.") { + fieldType = fmt.Sprintf("*%s", fieldType) } line := fmt.Sprintf("\t%s %s `json:\"%s\"`", fieldName, fieldType, jsonDetails) + + if data.generateDescriptionsForModels && fieldDetails.Description != "" { + description := fmt.Sprintf("// %s", fieldDetails.Description) + line = fmt.Sprintf("%s\n%s", description, line) + } + return &line, nil } From 7b608bd6399eb1c297d5699d909c66c6b9ef038a Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 00:22:54 +0100 Subject: [PATCH 056/134] importer-msgraph-metadata: improve name deuplication helper function, add tests --- .../components/normalize/duplicates.go | 77 +++++++++++++------ .../components/normalize/duplicates_test.go | 37 +++++++++ 2 files changed, 89 insertions(+), 25 deletions(-) create mode 100644 tools/importer-msgraph-metadata/components/normalize/duplicates_test.go diff --git a/tools/importer-msgraph-metadata/components/normalize/duplicates.go b/tools/importer-msgraph-metadata/components/normalize/duplicates.go index a51e429affa..bdf216f7e3d 100644 --- a/tools/importer-msgraph-metadata/components/normalize/duplicates.go +++ b/tools/importer-msgraph-metadata/components/normalize/duplicates.go @@ -8,38 +8,65 @@ import ( "strings" ) -func DeDuplicate(name string) string { +// DeDuplicateName reduces duplication in long form constant/model names. Since we typically prefix these to provide +// some namespacing, this can lead to excessive duplication which we try to cut down on here. +// Rules: +// 1. Immediately duplicated words should be removed, e.g. "GroupGroupMember" +// 2. Chains of successive words that match should be removed, e.g. "GroupMemberGroupMemberRef" +// 3. Single duplicate words that are not adjacent should not be removed, e.g. "GroupMemberGroupOwner" +// 4. Duplicate chains of words that reach the end of the string should not be removed, e.g. "SynchronizationSecretKeySynchronizationSecret" +// 5. Words should be compared in their singular form, but retained in their existing form, whether singular or plural +func DeDuplicateName(name string) string { nameSpaced := regexp.MustCompile("([A-Z])").ReplaceAllString(name, " $1") nameParts := strings.Split(strings.TrimSpace(nameSpaced), " ") + + singularParts := make([]string, len(nameParts)) + for i, s := range nameParts { + singularParts[i] = Singularize(s) + } + newParts := make([]string, 0) + var buffer []string + var matchStart, offset int + for i := 0; i < len(nameParts); i++ { - if i > 0 && strings.EqualFold(nameParts[i], nameParts[i-1]) { - continue + if i > 0 { + // preceding word is identical, omit this word + if strings.EqualFold(singularParts[i], singularParts[i-1]) { + offset++ + continue + } + + if matchStart < 0 { + // look for a matching word to begin a chain + for matchStart = offset; matchStart < i; matchStart++ { + if strings.EqualFold(singularParts[i], singularParts[matchStart]) { + buffer = append(buffer, nameParts[i]) + break + } + } + if len(buffer) > 0 { + continue + } + } else if matchStart+len(buffer) < i && strings.EqualFold(singularParts[i], singularParts[matchStart+len(buffer)]) { + // continue matching if a chain was started + buffer = append(buffer, nameParts[i]) + continue + } else if len(buffer) == 1 { + // if a chain was only a single word, that doesn't count + newParts = append(newParts, buffer[0]) + } } + + buffer = make([]string, 0) + matchStart = -1 newParts = append(newParts, nameParts[i]) } - return strings.Join(newParts, "") -} -func DeDuplicateName(name string) string { - words := make([]string, 0) - i := 0 - for j, c := range name { - char := string(c) - if j > 0 && strings.ToUpper(char) == char { - i++ - } - if len(words) <= i { - words = append(words, "") - } - words[i] = words[i] + char + // retain the final segment if it was specified and trimmed + if len(buffer) > 0 { + newParts = append(newParts, buffer...) } - out := "" - for k, word := range words { - if k > 0 && strings.EqualFold(words[k-1], word) { - continue - } - out = out + word - } - return out + + return strings.Join(newParts, "") } diff --git a/tools/importer-msgraph-metadata/components/normalize/duplicates_test.go b/tools/importer-msgraph-metadata/components/normalize/duplicates_test.go new file mode 100644 index 00000000000..50731b7eb7f --- /dev/null +++ b/tools/importer-msgraph-metadata/components/normalize/duplicates_test.go @@ -0,0 +1,37 @@ +package normalize + +import ( + "testing" +) + +func TestDeDuplicate(t *testing.T) { + testCases := map[string]string{ + // simple duplicate preceding word + "ApplicationApplicationOwner": "ApplicationOwner", + + // duplicate words from beginning of string + "ConditionalAccessConditionalAccessDevicePlatform": "ConditionalAccessDevicePlatform", + + // duplicate preceding word + duplicate words from beginning + "GroupGroupMemberGroupMemberRef": "GroupMemberRef", + + // single duplicate word from beginning should not be removed + "ServicePrincipalServiceProfile": "ServicePrincipalServiceProfile", + + // non-duplicate - not preceding and not from beginning + "UserAccountPasswordAccountPolicy": "UserAccountPasswordAccountPolicy", + + // duplicate from beginning, but at end of name, so must be retained + "SynchronizationSecretKeyStringValuePairSynchronizationSecret": "SynchronizationSecretKeyStringValuePairSynchronizationSecret", + + // duplicate chain after singularization + "ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType": "ConditionalAccessGuestsOrExternalUsersType", + } + + for input, expected := range testCases { + result := DeDuplicateName(input) + if result != expected { + t.Errorf("DeDuplicateName(%q): got %q, expected %q", input, result, expected) + } + } +} From 77de1bea8d89793dd7dfad608b9eea72d6bd8bc6 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 00:23:28 +0100 Subject: [PATCH 057/134] importer-msgraph-metadata: use `github.com/gertd/go-pluralize` for pluralization/singularization, add tests --- .../components/normalize/normalize.go | 77 ++++++++----------- .../components/normalize/normalize_test.go | 73 ++++++++++++++++++ tools/importer-msgraph-metadata/go.mod | 1 + tools/importer-msgraph-metadata/go.sum | 2 + 4 files changed, 109 insertions(+), 44 deletions(-) create mode 100644 tools/importer-msgraph-metadata/components/normalize/normalize_test.go diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize.go b/tools/importer-msgraph-metadata/components/normalize/normalize.go index c6cd1876091..38936e74094 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize.go +++ b/tools/importer-msgraph-metadata/components/normalize/normalize.go @@ -8,62 +8,35 @@ import ( "regexp" "strings" + "github.com/gertd/go-pluralize" "golang.org/x/text/cases" "golang.org/x/text/language" ) func Singularize(name string) string { - // "access" is already singular - if len(name) >= 5 && name[len(name)-5:] == "ccess" { - return name - } - - // "properties", "entities" etc - if len(name) >= 3 && name[len(name)-3:] == "ies" { - return fmt.Sprintf("%sy", name[:len(name)-3]) - } - - // "premises" etc - if len(name) >= 3 && name[len(name)-3:] == "ses" { - return name[:len(name)-2] + for _, v := range pluralExceptions { + if name == v.plural { + return v.singular + } } - // all other words, remove the trailing "s" - if len(name) >= 1 && name[len(name)-1:] == "s" { - return name[:len(name)-1] - } + client := pluralize.NewClient() + output := client.Singular(name) - // else just return the original name - return name + return output } func Pluralize(name string) string { - if name == "" { - return "" - } - ret := fmt.Sprintf("%ss", name) - if strings.EqualFold(name, "me") { - return name - } - if len(name) == 0 { - return ret - } - if strings.EqualFold(name[len(name)-2:], "ay") || strings.EqualFold(name[len(name)-2:], "ey") { - return fmt.Sprintf("%ss", name) - } - if strings.EqualFold(name[len(name)-1:], "y") { - return fmt.Sprintf("%sies", name[:len(name)-1]) - } - if strings.EqualFold(name[len(name)-1:], "s") { - return name - } - if len(name) < 2 { - return ret - } - if strings.EqualFold(name[len(name)-2:], "Of") { - return name + for _, v := range pluralExceptions { + if name == v.singular { + return v.plural + } } - return ret + + client := pluralize.NewClient() + output := client.Plural(name) + + return output } func CleanName(name string) string { @@ -149,3 +122,19 @@ var Verbs = operationVerbs{ "Update", "Validate", } + +type plural struct { + singular string + plural string +} + +var pluralExceptions = []plural{ + {"By", "By"}, + {"Compatibility", "Compatibility"}, + {"Cache", "Caches"}, + {"Data", "Data"}, + {"Metadata", "Metadata"}, + {"Orderby", "Orderby"}, + {"Premise", "Premises"}, + {"Sortby", "Sortby"}, +} diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize_test.go b/tools/importer-msgraph-metadata/components/normalize/normalize_test.go new file mode 100644 index 00000000000..388f7d4f75c --- /dev/null +++ b/tools/importer-msgraph-metadata/components/normalize/normalize_test.go @@ -0,0 +1,73 @@ +package normalize + +import "testing" + +func TestSingularize(t *testing.T) { + testCases := map[string]string{ + "Access": "Access", + "Apps": "App", + "Applications": "Application", + "By": "By", + "Caches": "Cache", + "Data": "Data", + "Details": "Detail", + "Compatibility": "Compatibility", + "Entities": "Entity", + "Kinds": "Kind", + "Metadata": "Metadata", + "Modalities": "Modality", + "Options": "Option", + "Orderby": "Orderby", + "Policies": "Policy", + "Premises": "Premise", + "Principals": "Principal", + "Properties": "Property", + "Services": "Service", + "Severities": "Severity", + "Sortby": "Sortby", + "Success": "Success", + "Successes": "Success", + } + + for input, expected := range testCases { + result := Singularize(input) + if result != expected { + t.Errorf("Singularize(%q): got %q, expected %q", input, result, expected) + } + } +} + +func TestPluralize(t *testing.T) { + testCases := map[string]string{ + "Access": "Accesses", + "App": "Apps", + "Application": "Applications", + "By": "By", + "Compatibility": "Compatibility", + "Cache": "Caches", + "Data": "Data", + "Detail": "Details", + "Entity": "Entities", + "Kind": "Kinds", + "Metadata": "Metadata", + "Modality": "Modalities", + "Option": "Options", + "Orderby": "Orderby", + "Policy": "Policies", + "Premise": "Premises", + "Principal": "Principals", + "Property": "Properties", + "Service": "Services", + "Severity": "Severities", + "Sortby": "Sortby", + "Success": "Successes", + "Successes": "Successes", + } + + for input, expected := range testCases { + result := Pluralize(input) + if result != expected { + t.Errorf("Pluralize(%q): got %q, expected %q", input, result, expected) + } + } +} diff --git a/tools/importer-msgraph-metadata/go.mod b/tools/importer-msgraph-metadata/go.mod index 8fea7689338..4d0ee4fbbcb 100644 --- a/tools/importer-msgraph-metadata/go.mod +++ b/tools/importer-msgraph-metadata/go.mod @@ -32,6 +32,7 @@ require ( github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/fatih/color v1.13.0 // indirect + github.com/gertd/go-pluralize v0.2.1 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect diff --git a/tools/importer-msgraph-metadata/go.sum b/tools/importer-msgraph-metadata/go.sum index cdb318e800c..6786b54ad84 100644 --- a/tools/importer-msgraph-metadata/go.sum +++ b/tools/importer-msgraph-metadata/go.sum @@ -40,6 +40,8 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/gertd/go-pluralize v0.2.1 h1:M3uASbVjMnTsPb0PNqg+E/24Vwigyo/tvyMTtAlLgiA= +github.com/gertd/go-pluralize v0.2.1/go.mod h1:rbYaKDbsXxmRfr8uygAEKhOWsjyrrqrkHVpZvoOp8zk= github.com/getkin/kin-openapi v0.117.0 h1:QT2DyGujAL09F4NrKDHJGsUoIprlIcFVHWDVDcUFE8A= github.com/getkin/kin-openapi v0.117.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= From b56cb174ed5c142cdc7196632555fca57c2e2ce5 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 00:26:05 +0100 Subject: [PATCH 058/134] importer-msgraph-metadata: improve constant naming --- .../components/parser/types.go | 187 ++++++++++-------- 1 file changed, 106 insertions(+), 81 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 4aa3ce8d79f..76d57db3e30 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -126,6 +126,13 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { continue } + optional := true + required := false + if field.Required { + optional = false + required = true + } + sdkFields[fieldName] = sdkModels.SDKField{ ContainsDiscriminatedValue: field.DiscriminatedValue, DateFormat: nil, @@ -133,11 +140,9 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { JsonName: field.JsonField, ObjectDefinition: *objectDefinition, - ReadOnly: field.ReadOnly, - - // TODO work these out - Optional: true, - Required: false, + Optional: optional, + ReadOnly: field.ReadOnly, + Required: required, Sensitive: false, } } @@ -159,6 +164,7 @@ type ModelField struct { Type *DataType Description string Default interface{} + Required bool ReadOnly bool WriteOnly bool Nullable bool @@ -265,6 +271,7 @@ const ( DataTypeBase64 DataTypeBinary DataTypeBool + DataTypeCsv DataTypeDate DataTypeDateTime DataTypeDuration @@ -295,6 +302,8 @@ func (ft DataType) DataApiSdkObjectDefinitionType() sdkModels.SDKObjectDefinitio return sdkModels.FloatSDKObjectDefinitionType case DataTypeBool: return sdkModels.BooleanSDKObjectDefinitionType + case DataTypeCsv: + return sdkModels.CSVSDKObjectDefinitionType case DataTypeDate, DataTypeDateTime, DataTypeTime: return sdkModels.DateTimeSDKObjectDefinitionType case DataTypeBinary: @@ -316,6 +325,8 @@ func (ft DataType) DataApiSdkOperationOptionObjectDefinitionType() sdkModels.SDK return sdkModels.FloatSDKOperationOptionObjectDefinitionType case DataTypeBool: return sdkModels.BooleanSDKOperationOptionObjectDefinitionType + case DataTypeCsv: + return sdkModels.CSVSDKOperationOptionObjectDefinitionType case DataTypeDate, DataTypeDateTime, DataTypeTime: return sdkModels.StringSDKOperationOptionObjectDefinitionType case DataTypeBinary: @@ -701,108 +712,122 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta for jsonField, schemaRef := range input.Schemas { // maintainer note: this is a good place to add a breakpoint for inspecting model fields and constants as they are processed // example breakpoint condition: name=="AdministrativeUnit" - if schema := schemaRef.Value; schema != nil { - field := ModelField{ - Title: normalize.CleanName(jsonField), - Description: schema.Description, - Default: schema.Default, - ReadOnly: schemaRef.Value.ReadOnly, - WriteOnly: schemaRef.Value.WriteOnly, - Nullable: schemaRef.Value.Nullable, - AllowEmptyValue: schemaRef.Value.AllowEmptyValue, - JsonField: jsonField, - } + schema := schemaRef.Value + if schema == nil { + continue + } - if field.Title == "" { - continue + field := ModelField{ + Title: normalize.CleanName(jsonField), + Description: schema.Description, + Default: schema.Default, + ReadOnly: schemaRef.Value.ReadOnly, + WriteOnly: schemaRef.Value.WriteOnly, + Nullable: schemaRef.Value.Nullable, + AllowEmptyValue: schemaRef.Value.AllowEmptyValue, + JsonField: jsonField, + } + + if field.Title == "" { + continue + } + + result, _ := FlattenSchemaRef(schemaRef, nil) + + // Determine any enumeration for the field + enum := parseEnum(schema.Enum) + if result != nil && len(result.Enum) > 0 && len(enum) == 0 { + enum = parseEnum(result.Enum) + } + + // Find the corresponding model when the field refers to it, and set the model name for the field + if result != nil && result.Title != "" && result.Schemas != nil { + if _, ok := models[result.Title]; !ok { + models, constants = Schemas(*result, result.Title, models, constants, common) } + field.ModelName = &result.Title + } - result, _ := FlattenSchemaRef(schemaRef, nil) + // Handle items for collections + if schema.Items != nil && schema.Items.Value != nil { + itemsResult, _ := FlattenSchemaRef(schema.Items, nil) - // Determine any enumeration for the field - enum := parseEnum(schema.Enum) - if result != nil && len(result.Enum) > 0 && len(enum) == 0 { - enum = parseEnum(result.Enum) + // Determine any type for the items + if schema.Items.Value.Type != "" || schema.Items.Value.Format != "" { + field.ItemType = FieldType(schema.Items.Value.Type, schema.Items.Value.Format, field.ModelName != nil) } - // Find the corresponding model when the field refers to it, and set the model name for the field - if result != nil && result.Title != "" && result.Schemas != nil { + // Find the corresponding model when the field (items) refers to it, and set the model name for the field items + if itemsResult != nil && itemsResult.Title != "" && itemsResult.Type == "object" { if _, ok := models[result.Title]; !ok { models, constants = Schemas(*result, result.Title, models, constants, common) } field.ModelName = &result.Title } + } - // Handle items for collections - if schema.Items != nil && schema.Items.Value != nil { - itemsResult, _ := FlattenSchemaRef(schema.Items, nil) - - // Determine any type for the items - if schema.Items.Value.Type != "" || schema.Items.Value.Format != "" { - field.ItemType = FieldType(schema.Items.Value.Type, schema.Items.Value.Format, field.ModelName != nil) - } + // Match the field type to the referenced object, or set a basic type + if result != nil && schema.Type == "" && schema.Format == "" && (result.Type != "" || result.Format != "") { + field.Type = FieldType(result.Type, result.Format, field.ModelName != nil) + } else { + field.Type = FieldType(schema.Type, schema.Format, field.ModelName != nil) + } - // Find the corresponding model when the field (items) refers to it, and set the model name for the field items - if itemsResult != nil && itemsResult.Title != "" && itemsResult.Type == "object" { - if _, ok := models[result.Title]; !ok { - models, constants = Schemas(*result, result.Title, models, constants, common) - } - field.ModelName = &result.Title - } - } + // Set the field type for enums; typically strings for constants, but could be any valid type + if result != nil && field.Type != nil && *field.Type == DataTypeArray && len(enum) > 0 && (result.Type != "" || result.Format != "") { + field.ItemType = FieldType(result.Type, result.Format, field.ModelName != nil) + } - // Match the field type to the referenced object, or set a basic type - if result != nil && schema.Type == "" && schema.Format == "" && (result.Type != "" || result.Format != "") { - field.Type = FieldType(result.Type, result.Format, field.ModelName != nil) + if ((field.Type != nil && *field.Type == DataTypeString) || (field.ItemType != nil && *field.ItemType == DataTypeString)) && len(enum) > 0 { + // Despite being "fully qualified", type names are not unique in MS Graph, so we prefix them with the model name to provide some namespacing. + // Though we attempt to de-duplicate, this does lead to some excessively long constant names, it is what it is. + constantName := name + if result.Title != "" { + // use provided ref name if present + constantName += result.Title } else { - field.Type = FieldType(schema.Type, schema.Format, field.ModelName != nil) + // otherwise use the field name + constantName += field.Title } + constantName = normalize.DeDuplicateName(constantName) + constantName = normalize.Singularize(constantName) - // Set the field type for enums; typically strings for constants, but could be any valid type - if result != nil && field.Type != nil && *field.Type == DataTypeArray && len(enum) > 0 && (result.Type != "" || result.Format != "") { - field.ItemType = FieldType(result.Type, result.Format, field.ModelName != nil) - } - - if ((field.Type != nil && *field.Type == DataTypeString) || (field.ItemType != nil && *field.ItemType == DataTypeString)) && len(enum) > 0 { - // Despite being "fully qualified", type names are not unique in MS Graph, so we prefix them with the field name to provide some namespacing. - // This leads to some excessively long constant names, it is what it is. - field.ConstantName = pointer.To(normalize.Singularize(name + field.Title)) - - // Add the enumeration as a constant - constants[*field.ConstantName] = &Constant{ - Enum: enum, - Type: field.Type, - } - } + field.ConstantName = pointer.To(constantName) - if field.Type == nil { - logging.Warnf("Skipping field %q in model %q because Type is nil", name, field.Title) - continue + // Add the enumeration as a constant + constants[constantName] = &Constant{ + Enum: enum, + Type: field.Type, } + } - // Insert an "@odata.bind" field where a field or collection refers to a DirectoryObject. The MS Graph - // OpenAPI spec unfortunately does not document relationships between entities. - if field.ModelName != nil && strings.EqualFold(*field.ModelName, "DirectoryObject") { - bindFieldName := fmt.Sprintf("%s_ODataBind", normalize.CleanName(jsonField)) + if field.Type == nil { + logging.Warnf("Skipping field %q in model %q because Type is nil", name, field.Title) + continue + } - var fieldType, itemType *DataType + // Insert an "@odata.bind" field where a field or collection refers to a DirectoryObject. The MS Graph + // OpenAPI spec unfortunately does not document relationships between entities. + if field.ModelName != nil && strings.EqualFold(*field.ModelName, "DirectoryObject") { + bindFieldName := fmt.Sprintf("%s_ODataBind", normalize.CleanName(jsonField)) - fieldType = pointer.To(DataTypeString) - if *field.Type == DataTypeArray { - fieldType = pointer.To(DataTypeArray) - itemType = pointer.To(DataTypeString) - } + var fieldType, itemType *DataType - model.Fields[bindFieldName] = &ModelField{ - Title: bindFieldName, - Type: fieldType, - ItemType: itemType, - JsonField: fmt.Sprintf("%s@odata.bind", jsonField), - } + fieldType = pointer.To(DataTypeString) + if *field.Type == DataTypeArray { + fieldType = pointer.To(DataTypeArray) + itemType = pointer.To(DataTypeString) } - model.Fields[normalize.CleanName(jsonField)] = &field + model.Fields[bindFieldName] = &ModelField{ + Title: bindFieldName, + Type: fieldType, + ItemType: itemType, + JsonField: fmt.Sprintf("%s@odata.bind", jsonField), + } } + + model.Fields[normalize.CleanName(jsonField)] = &field } return models, constants From e197f77909753c264dc9f0d594298af8deae37ba Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 00:26:20 +0100 Subject: [PATCH 059/134] importer-msgraph-metadata: workarounds for conditional access --- .../workarounds/workaround_application.go | 2 - .../workaround_conditionalaccesspolicy.go | 102 ++++++++++++++++++ .../components/workarounds/workarounds.go | 1 + 3 files changed, 103 insertions(+), 2 deletions(-) create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go index d27aa820d9b..51933488f50 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go @@ -45,8 +45,6 @@ func (workaroundApplication) Process(apiVersion string, models parser.Models, co // Add the `applicationTemplateId` field if missing if _, ok := model.Fields["ApplicationTemplateId"]; !ok { - fmt.Println("fo") - model.Fields["ApplicationTemplateId"] = &parser.ModelField{ Title: "ApplicationTemplateId", Description: "Unique identifier of the applicationTemplate. Supports $filter (eq, not, ne). Read-only. null if the app wasn't created from an application template.", diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go new file mode 100644 index 00000000000..6a0bf477637 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -0,0 +1,102 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + "github.com/hashicorp/go-azure-helpers/lang/pointer" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +var _ workaround = workaroundConditionalAccessPolicy{} + +// workaroundConditionalAccessPolicy adds missing fields and fixes some field types. +type workaroundConditionalAccessPolicy struct{} + +func (workaroundConditionalAccessPolicy) Name() string { + return "Conditional Access Policy / fixing missing fields and types" +} + +func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parser.Models, constants parser.Constants) error { + model, ok := models["ConditionalAccessPolicy"] + if !ok { + return fmt.Errorf("`ConditionalAccessPolicy` model not found") + } + + // grantControls and sessionControls must be null to unset them, so make them nullable + required + if _, ok = model.Fields["GrantControls"]; !ok { + return fmt.Errorf("`GrantControls` field not found") + } + model.Fields["GrantControls"].Nullable = true + model.Fields["GrantControls"].Required = true + if _, ok = model.Fields["SessionControls"]; !ok { + return fmt.Errorf("`SessionControls` field not found") + } + model.Fields["SessionControls"].Nullable = true + model.Fields["SessionControls"].Required = true + + model, ok = models["ConditionalAccessConditionSet"] + if !ok { + return fmt.Errorf("`ConditionalAccessConditionSet` model not found") + } + + // devices, locations, platforms must each be null to unset them, so make them nullable + required + if _, ok = model.Fields["Devices"]; !ok { + return fmt.Errorf("`Devices` field not found") + } + model.Fields["Devices"].Nullable = true + model.Fields["Devices"].Required = true + if _, ok = model.Fields["Locations"]; !ok { + return fmt.Errorf("`Locations` field not found") + } + model.Fields["Locations"].Nullable = true + model.Fields["Locations"].Required = true + if _, ok = model.Fields["Platforms"]; !ok { + return fmt.Errorf("`Platforms` field not found") + } + model.Fields["Platforms"].Nullable = true + model.Fields["Platforms"].Required = true + + model, ok = models["ConditionalAccessExternalTenants"] + if !ok { + return fmt.Errorf("`ConditionalAccessExternalTenants` model not found") + } + + // Add the `members` field if missing + if _, ok = model.Fields["Members"]; !ok { + model.Fields["Members"] = &parser.ModelField{ + Title: "Members", + Type: pointer.To(parser.DataTypeArray), + ItemType: pointer.To(parser.DataTypeString), + JsonField: "members", + } + } + + // Set CSV type for field + model, ok = models["ConditionalAccessGuestsOrExternalUsers"] + if !ok { + return fmt.Errorf("`ConditionalAccessGuestsOrExternalUsers` model not found") + } + if _, ok = model.Fields["GuestOrExternalUserTypes"]; !ok { + return fmt.Errorf("`GuestOrExternalUserTypes` field not found") + } + model.Fields["GuestOrExternalUserTypes"].Type = pointer.To(parser.DataTypeCsv) + + // Rename this constant + if v, ok := constants["ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType"]; ok { + constants["ConditionalAccessGuestOrExternalUserType"] = v + + for _, model = range models { + for fieldName := range model.Fields { + if model.Fields[fieldName].ConstantName != nil && *model.Fields[fieldName].ConstantName == "ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType" { + model.Fields[fieldName].ConstantName = pointer.To("ConditionalAccessGuestOrExternalUserType") + } + } + } + + delete(constants, "ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType") + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index 5ab9f154fe2..6de4b99f24d 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -12,6 +12,7 @@ import ( var workarounds = []workaround{ workaroundApplication{}, + workaroundConditionalAccessPolicy{}, workaroundNamedLocation{}, workaroundIPRange{}, } From 15ddd29f630cda0b981d9e58d1855bf15116f031 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 01:18:21 +0100 Subject: [PATCH 060/134] importer-msgraph-metadata: more workaround for conditional access --- .../workaround_conditionalaccesspolicy.go | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go index 6a0bf477637..c6fdb6132d1 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -98,5 +98,34 @@ func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parse delete(constants, "ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType") } + model, ok = models["ConditionalAccessSessionControls"] + if !ok { + return fmt.Errorf("`ConditionalAccessSessionControls` model not found") + } + + // cloudAppSecurityPolicy must be null to unset it, so make it nullable + required + if _, ok = model.Fields["CloudAppSecurity"]; !ok { + return fmt.Errorf("`CloudAppSecurity` field not found") + } + model.Fields["CloudAppSecurity"].Nullable = true + model.Fields["CloudAppSecurity"].Required = true + + model, ok = models["ConditionalAccessUsers"] + if !ok { + return fmt.Errorf("`ConditionalAccessUsers` model not found") + } + + // cloudAppSecurityPolicy must be null to unset it, so make it nullable + required + if _, ok = model.Fields["ExcludeGuestsOrExternalUsers"]; !ok { + return fmt.Errorf("`ExcludeGuestsOrExternalUsers` field not found") + } + model.Fields["ExcludeGuestsOrExternalUsers"].Nullable = true + model.Fields["ExcludeGuestsOrExternalUsers"].Required = true + if _, ok = model.Fields["IncludeGuestsOrExternalUsers"]; !ok { + return fmt.Errorf("`IncludeGuestsOrExternalUsers` field not found") + } + model.Fields["IncludeGuestsOrExternalUsers"].Nullable = true + model.Fields["IncludeGuestsOrExternalUsers"].Required = true + return nil } From 7432097663b5a6fe7b8f988f6420d9d5bd276dfe Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 13:25:33 +0100 Subject: [PATCH 061/134] generator-go-sdk: test fixes --- .../templater_models_constant_test.go | 19 ++++++++++++++++++- .../templater_models_discriminators_test.go | 4 ++++ .../generator/templater_models_test.go | 3 +++ .../internal/generator/templater_readme.go | 2 +- .../generator/templater_version_test.go | 2 +- 5 files changed, 27 insertions(+), 3 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go b/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go index 3ba3d203d08..d4ff3f8b9c9 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_constant_test.go @@ -67,6 +67,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -134,7 +135,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" - + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -203,6 +204,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -270,6 +272,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -337,6 +340,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -405,6 +409,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -484,6 +489,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -557,6 +563,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -631,6 +638,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -704,6 +712,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -777,6 +786,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -854,6 +864,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -927,6 +938,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -1003,6 +1015,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -1077,6 +1090,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -1150,6 +1164,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -1226,6 +1241,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -1300,6 +1316,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder diff --git a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go index ebc9c0a5692..5b51b079320 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go @@ -70,6 +70,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -206,6 +207,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -328,6 +330,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -429,6 +432,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder diff --git a/tools/generator-go-sdk/internal/generator/templater_models_test.go b/tools/generator-go-sdk/internal/generator/templater_models_test.go index 562d64905e0..6828320d382 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_test.go @@ -71,6 +71,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -145,6 +146,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder @@ -258,6 +260,7 @@ import ( "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" ) // acctests licence placeholder diff --git a/tools/generator-go-sdk/internal/generator/templater_readme.go b/tools/generator-go-sdk/internal/generator/templater_readme.go index 809a9afff26..4e060b98e85 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme.go @@ -62,7 +62,7 @@ This readme covers example usages, but further information on [using this SDK ca '''go %[5]s ''' -`, data.sourceType, data.servicePackageName, data.versionDirectoryName, data.packageName, strings.Join(importLines, "\n")) +`, data.sourceType, data.servicePackageName, data.apiVersion, data.packageName, strings.Join(importLines, "\n")) } func (r readmeTemplater) clientInitialization(packageName, clientName string) string { diff --git a/tools/generator-go-sdk/internal/generator/templater_version_test.go b/tools/generator-go-sdk/internal/generator/templater_version_test.go index 666a9b04f20..1f545e78421 100644 --- a/tools/generator-go-sdk/internal/generator/templater_version_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_version_test.go @@ -28,7 +28,7 @@ import "fmt" const defaultApiVersion = "2022-02-01" func userAgent() string { - return fmt.Sprintf("hashicorp/go-azure-sdk/somepackage/%s", defaultApiVersion) + return "hashicorp/go-azure-sdk/somepackage/2022-02-01" }` assertTemplatedCodeMatches(t, expected, *actual) } From 4a639592968496d451cfd91c3d2c2a6085dc3d92 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 14:35:27 +0100 Subject: [PATCH 062/134] importer-msgraph-metadata: add support for DirectoryRoles --- config/microsoft-graph.hcl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/microsoft-graph.hcl b/config/microsoft-graph.hcl index 29ddecbc534..12ae783b59d 100644 --- a/config/microsoft-graph.hcl +++ b/config/microsoft-graph.hcl @@ -41,6 +41,11 @@ service "directoryObjects" { available = ["stable", "beta"] } +service "directoryRoles" { + name = "DirectoryRoles" + available = ["stable", "beta"] +} + service "domains" { name = "Domains" available = ["stable", "beta"] From b6b96b3edda14199bd92c0f6637e71b97887275c Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 15 Aug 2024 14:37:59 +0100 Subject: [PATCH 063/134] importer-msgraph-metadata: add support for DirectoryRoleTemplates --- config/microsoft-graph.hcl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/microsoft-graph.hcl b/config/microsoft-graph.hcl index 12ae783b59d..5e9ffbb51d6 100644 --- a/config/microsoft-graph.hcl +++ b/config/microsoft-graph.hcl @@ -46,6 +46,11 @@ service "directoryRoles" { available = ["stable", "beta"] } +service "directoryRoleTemplates" { + name = "DirectoryRoleTemplates" + available = ["stable", "beta"] +} + service "domains" { name = "Domains" available = ["stable", "beta"] From e884bf697189f6eff9da72b9d2874f72a3e0fe9c Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 16 Aug 2024 18:07:51 +0100 Subject: [PATCH 064/134] generator-go-sdk: improvements to discriminated model types * Output the discriminated value field instead of hiding it. this is useful because the field may have additional semantics and consumers may wish to know its value. consumers may attempt to set it, but it will have no effect due to the custom marshalling function. * Define a base type for each discriminated model parent, rather than omitting it. * Unmarshal the base model and add a method to discriminator interfaces that returns it. Implement this method for all discriminated child models, including the `Raw{Type}Impl` struct for undefined types. --- .../internal/generator/helpers.go | 4 + .../internal/generator/helpers_test.go | 11 +- .../internal/generator/templater_models.go | 281 ++++++++++++------ .../templater_models_discriminators_test.go | 48 ++- 4 files changed, 242 insertions(+), 102 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/helpers.go b/tools/generator-go-sdk/internal/generator/helpers.go index 6841b458219..c76a85e3841 100644 --- a/tools/generator-go-sdk/internal/generator/helpers.go +++ b/tools/generator-go-sdk/internal/generator/helpers.go @@ -40,6 +40,10 @@ func baseClientPackageForSdk(input models.SourceDataType) string { return "client" } +func camelCase(input string) string { + return strings.ToLower(input[0:1]) + input[1:] +} + func capitalizeFirstLetter(input string) string { return strings.ToUpper(input[0:1]) + strings.ToLower(input[1:]) } diff --git a/tools/generator-go-sdk/internal/generator/helpers_test.go b/tools/generator-go-sdk/internal/generator/helpers_test.go index 0d2c13fe8a0..d9b43f4bd9c 100644 --- a/tools/generator-go-sdk/internal/generator/helpers_test.go +++ b/tools/generator-go-sdk/internal/generator/helpers_test.go @@ -4,6 +4,7 @@ package generator import ( + "fmt" "strings" "testing" @@ -19,8 +20,14 @@ func assertTemplatedCodeMatches(t *testing.T, expected string, actual string) { actualLines := splitLines(actual) expectedLines := splitLines(expected) - normalizedActualValue := strings.Join(actualLines, "\n") - normalizedExpectedValue := strings.Join(expectedLines, "\n") + normalizedActualValue := "" + for i, v := range actualLines { + normalizedActualValue += fmt.Sprintf("%d: %s\n", i+1, v) + } + normalizedExpectedValue := "" + for i, v := range expectedLines { + normalizedExpectedValue += fmt.Sprintf("%d: %s\n", i+1, v) + } if len(actualLines) != len(expectedLines) { t.Fatalf(`Expected %d lines but got %d lines. diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index e81b3537cba..a057fef2548 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -66,22 +66,12 @@ import ( } func (c modelsTemplater) structCode(data GeneratorData) (*string, error) { - // if this is an Abstract/Type Hint, we output an Interface with a manual unmarshal func that gets called wherever it's used - if c.model.FieldNameContainingDiscriminatedValue != nil && c.model.ParentTypeName == nil { - out := fmt.Sprintf(` -type %[1]s interface { -} + out := "" + structName := c.name -// Raw%[1]sImpl is returned when the Discriminated Value -// doesn't match any of the defined types -// NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) -// and is used only for Deserialization (e.g. this cannot be used as a Request Payload). -type Raw%[1]sImpl struct { - Type string - Values map[string]interface{} -} -`, c.name) - return &out, nil + // parent models get a {model}Base struct + if c.model.IsDiscriminatedParentType() { + structName = fmt.Sprintf("%sBase", c.name) } fields := make([]string, 0) @@ -105,11 +95,6 @@ type Raw%[1]sImpl struct { return nil, err } - if c.model.FieldNameContainingDiscriminatedValue != nil && *c.model.FieldNameContainingDiscriminatedValue == fieldName { - // this isn't user configurable (and is hard-coded) so there's no point outputting this - continue - } - structLines = append(structLines, *structLine) } @@ -127,7 +112,7 @@ type Raw%[1]sImpl struct { } else { parentTypeName = *c.model.ParentTypeName } - parentAssignmentInfo = fmt.Sprintf("var _ %[1]s = %[2]s{}", parentTypeName, c.name) + parentAssignmentInfo = fmt.Sprintf("var _ %[1]s = %[2]s{}", parentTypeName, structName) parent, ok := data.models[*c.model.ParentTypeName] if !ok { @@ -156,12 +141,6 @@ type Raw%[1]sImpl struct { return nil, err } - // check this field isn't used as the discriminated value - if c.model.FieldNameContainingDiscriminatedValue != nil && *c.model.FieldNameContainingDiscriminatedValue == fieldName { - // this isn't user configurable (and is hard-coded) so there's no point outputting this - continue - } - structLines = append(structLines, *structLine) } } @@ -180,12 +159,40 @@ type Raw%[1]sImpl struct { formattedStructLines = append(formattedStructLines, v) } - out := fmt.Sprintf(` + out += fmt.Sprintf(` %[3]s type %[1]s struct { %[2]s } -`, c.name, strings.Join(formattedStructLines, "\n"), parentAssignmentInfo) +`, structName, strings.Join(formattedStructLines, "\n"), parentAssignmentInfo) + + // if this is an Abstract/Type Hint, we output an Interface with a manual unmarshal func that gets called wherever it's used + if c.model.IsDiscriminatedParentType() { + out += fmt.Sprintf(` +type %[1]s interface { + %[1]s() %[1]sBase +} + +// Raw%[1]sImpl is returned when the Discriminated Value +// doesn't match any of the defined types +// NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) +// and is used only for Deserialization (e.g. this cannot be used as a Request Payload). +type Raw%[1]sImpl struct { + %[2]s %[1]sBase + Type string + Values map[string]interface{} +} + +`, c.name, camelCase(c.name)) + + out += fmt.Sprintf(` +func (s Raw%[1]sImpl) %[1]s() %[1]sBase { + return s.%[2]s +} + +`, c.name, camelCase(c.name)) + } + return &out, nil } @@ -198,6 +205,12 @@ func (c modelsTemplater) methods(data GeneratorData) (*string, error) { } code = append(code, *dateFunctions) + parentModelFunctions, err := c.codeForParentStructFunctions(data) + if err != nil { + return nil, fmt.Errorf("generating parent model functions: %+v", err) + } + code = append(code, *parentModelFunctions) + marshalFunctions, err := c.codeForMarshalFunctions(data) if err != nil { return nil, fmt.Errorf("generating marshal functions: %+v", err) @@ -362,37 +375,97 @@ func (c modelsTemplater) dateFunctionForField(fieldName string, fieldDetails mod return &out, nil } -func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, error) { - output := "" +func (c modelsTemplater) codeForParentStructFunctions(data GeneratorData) (*string, error) { + out := "" - if c.model.DiscriminatedValue != nil { - if c.model.FieldNameContainingDiscriminatedValue == nil { - return nil, fmt.Errorf("model %q must contain a TypeHintIn when a TypeHintValue is present", c.name) - } - if c.model.ParentTypeName == nil { - return nil, fmt.Errorf("model %q must contain a ParentTypeName when a TypeHintValue is present", c.name) + if c.model.ParentTypeName == nil { + return &out, nil + } + + parentTypeName := "" + structFields := make([]string, 0) + + if c.model.FieldNameContainingDiscriminatedValue != nil { + _, foundParentTypeName, err := c.recurseParentModels(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) + if err != nil { + return nil, err } + parentTypeName = *foundParentTypeName - parentModel, ok := data.models[*c.model.ParentTypeName] - if !ok { - return nil, fmt.Errorf("the parent model %q for model %q was not found", *c.model.ParentTypeName, c.name) + } else { + parentTypeName = *c.model.ParentTypeName + } + + parent, ok := data.models[*c.model.ParentTypeName] + if !ok { + return nil, fmt.Errorf("couldn't find Parent Model %q for Model %q", *c.model.ParentTypeName, c.name) + } + + parentFields := make([]string, 0) + for fieldName := range parent.Fields { + parentFields = append(parentFields, fieldName) + } + sort.Strings(parentFields) + + if len(parentFields) > 0 { + for _, fieldName := range parentFields { + structFields = append(structFields, fmt.Sprintf(`%[1]s: s.%[1]s,`, fieldName)) } + } - // the TypeHintIn field comes from the parent and so won't be output on the inherited items - field, ok := parentModel.Fields[*c.model.FieldNameContainingDiscriminatedValue] - if !ok { - if parentModel.ParentTypeName != nil { - parentField, _, err := c.recurseParentModels(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) - if err != nil { - return nil, err - } - field = *parentField - } else { - return nil, fmt.Errorf("the field %q was not found on the parent model %q for model %q", *c.model.FieldNameContainingDiscriminatedValue, *c.model.ParentTypeName, c.name) + out += fmt.Sprintf(` +func (s %[1]s) %[2]s() %[2]sBase { + return %[2]sBase{ + %[3]s + } +} + +`, c.name, parentTypeName, strings.Join(structFields, "\n")) + + return &out, nil +} + +func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, error) { + output := "" + + if c.model.DiscriminatedValue == nil { + return &output, nil + } + + if c.model.FieldNameContainingDiscriminatedValue == nil { + return nil, fmt.Errorf("model %q must contain a TypeHintIn when a TypeHintValue is present", c.name) + } + if c.model.ParentTypeName == nil { + return nil, fmt.Errorf("model %q must contain a ParentTypeName when a TypeHintValue is present", c.name) + } + + structName := c.name + + // parent models get a {model}Parent struct + if c.model.IsDiscriminatedParentType() { + structName = fmt.Sprintf("%sBase", c.name) + } + + parentModel, ok := data.models[*c.model.ParentTypeName] + if !ok { + return nil, fmt.Errorf("the parent model %q for model %q was not found", *c.model.ParentTypeName, c.name) + } + + // the TypeHintIn field comes from the parent and so won't be output on the inherited items + field, ok := parentModel.Fields[*c.model.FieldNameContainingDiscriminatedValue] + if !ok { + if parentModel.ParentTypeName != nil { + parentField, _, err := c.recurseParentModels(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) + if err != nil { + return nil, err } + field = *parentField + } else { + return nil, fmt.Errorf("the field %q was not found on the parent model %q for model %q", *c.model.FieldNameContainingDiscriminatedValue, *c.model.ParentTypeName, c.name) } + } - output = fmt.Sprintf(` + output += fmt.Sprintf(` var _ json.Marshaler = %[1]s{} func (s %[1]s) MarshalJSON() ([]byte, error) { @@ -416,8 +489,7 @@ func (s %[1]s) MarshalJSON() ([]byte, error) { return encoded, nil } -`, c.name, field.JsonName, *c.model.DiscriminatedValue) - } +`, structName, field.JsonName, *c.model.DiscriminatedValue) return &output, nil } @@ -441,36 +513,41 @@ func (c modelsTemplater) codeForUnmarshalFunctions(data GeneratorData) (*string, } func (c modelsTemplater) codeForUnmarshalParentFunction(data GeneratorData) (*string, error) { + output := "" + + if !c.model.IsDiscriminatedParentType() { + return &output, nil + } + // if this is a Discriminated Type (e.g. Parent) then we need to generate an Unmarshal{Name}Implementation // function which can be used in any usages lines := make([]string, 0) - if c.model.IsDiscriminatedParentType() { - modelsImplementingThisClass := make([]string, 0) - for modelName, model := range data.models { - if model.ParentTypeName == nil || model.FieldNameContainingDiscriminatedValue == nil || model.DiscriminatedValue == nil || modelName == c.name { - continue - } - - // sanity-checking - if *model.ParentTypeName != c.name { - continue - } - - if *model.FieldNameContainingDiscriminatedValue != *c.model.FieldNameContainingDiscriminatedValue { - return nil, fmt.Errorf("implementation %q uses a different discriminated field (%q) than parent %q (%q)", modelName, *model.FieldNameContainingDiscriminatedValue, c.name, *c.model.FieldNameContainingDiscriminatedValue) - } - - modelsImplementingThisClass = append(modelsImplementingThisClass, modelName) + modelsImplementingThisClass := make([]string, 0) + for modelName, model := range data.models { + if model.ParentTypeName == nil || model.FieldNameContainingDiscriminatedValue == nil || model.DiscriminatedValue == nil || modelName == c.name { + continue } // sanity-checking - if len(modelsImplementingThisClass) == 0 && featureflags.SkipDiscriminatedParentTypes() == false { - return nil, fmt.Errorf("model %q is a discriminated parent type with no implementations", c.name) + if *model.ParentTypeName != c.name { + continue } - jsonFieldName := c.model.Fields[*c.model.FieldNameContainingDiscriminatedValue].JsonName - // NOTE: unmarshaling null returns an empty map, which'll mean the `ok` fails - // the 'type' field being omitted will also mean that `ok` is false - lines = append(lines, fmt.Sprintf(` + + if *model.FieldNameContainingDiscriminatedValue != *c.model.FieldNameContainingDiscriminatedValue { + return nil, fmt.Errorf("implementation %q uses a different discriminated field (%q) than parent %q (%q)", modelName, *model.FieldNameContainingDiscriminatedValue, c.name, *c.model.FieldNameContainingDiscriminatedValue) + } + + modelsImplementingThisClass = append(modelsImplementingThisClass, modelName) + } + + // sanity-checking + if len(modelsImplementingThisClass) == 0 && featureflags.SkipDiscriminatedParentTypes() == false { + return nil, fmt.Errorf("model %q is a discriminated parent type with no implementations", c.name) + } + jsonFieldName := c.model.Fields[*c.model.FieldNameContainingDiscriminatedValue].JsonName + // NOTE: unmarshaling null returns an empty map, which'll mean the `ok` fails + // the 'type' field being omitted will also mean that `ok` is false + lines = append(lines, fmt.Sprintf(` func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { if input == nil { return nil, nil @@ -487,11 +564,11 @@ func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { } `, c.name, jsonFieldName)) - sort.Strings(modelsImplementingThisClass) - for _, implementationName := range modelsImplementingThisClass { - model := data.models[implementationName] + sort.Strings(modelsImplementingThisClass) + for _, implementationName := range modelsImplementingThisClass { + model := data.models[implementationName] - lines = append(lines, fmt.Sprintf(` + lines = append(lines, fmt.Sprintf(` if strings.EqualFold(value, %[1]q) { var out %[2]s if err := json.Unmarshal(input, &out); err != nil { @@ -500,30 +577,36 @@ func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { return out, nil } `, *model.DiscriminatedValue, implementationName)) - } + } + + // if it doesn't match - we generate and deserialize into a 'Raw{Name}Impl' type - named intentionally + // so that we don't conflict with a generated 'Raw{Name}' type which exists in a handful of Swaggers + lines = append(lines, fmt.Sprintf(` + var parent %[1]sBase + if err := json.Unmarshal(input, &parent); err != nil { + return nil, fmt.Errorf("unmarshaling into %[1]sBase: %+v", err) + } - // if it doesn't match - we generate and deserialize into a 'Raw{Name}Impl' type - named intentionally - // so that we don't conflict with a generated 'Raw{Name}' type which exists in a handful of Swaggers - lines = append(lines, fmt.Sprintf(` out := Raw%[1]sImpl{ - Type: value, + %[2]s: parent, + Type: value, Values: temp, } return out, nil -`, c.name)) +`, c.name, camelCase(c.name))) - lines = append(lines, "}") - } + lines = append(lines, "}") - output := strings.Join(lines, "\n") + output += strings.Join(lines, "\n") return &output, nil } func (c modelsTemplater) codeForUnmarshalStructFunction(data GeneratorData) (*string, error) { - // this is a parent, therefore there'll be no struct fields to check here + structName := c.name + + // parent models get a {model}Parent struct if c.model.IsDiscriminatedParentType() { - out := "" - return &out, nil + structName = fmt.Sprintf("%sBase", c.name) } lines := make([]string, 0) @@ -576,7 +659,7 @@ func (c modelsTemplater) codeForUnmarshalStructFunction(data GeneratorData) (*st lines = append(lines, fmt.Sprintf(` var _ json.Unmarshaler = &%[1]s{} -func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) +func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, structName)) // first for each regular field, decode & assign that if len(fieldsRequiringAssignment) > 0 { @@ -585,7 +668,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) if err := json.Unmarshal(bytes, &decoded); err != nil { return fmt.Errorf("unmarshaling into %[1]s: %%+v", err) } -`, c.name)) +`, structName)) sort.Strings(fieldsRequiringAssignment) for _, fieldName := range fieldsRequiringAssignment { @@ -598,7 +681,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) if err := json.Unmarshal(bytes, &temp); err != nil { return fmt.Errorf("unmarshaling %[1]s into map[string]json.RawMessage: %%+v", err) } -`, c.name)) +`, structName)) sort.Strings(fieldsRequiringUnmarshalling) for _, fieldName := range fieldsRequiringUnmarshalling { @@ -658,7 +741,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) output[key] = impl } s.%[1]s = %[4]soutput - }`, fieldName, *topLevelObjectDef.ReferenceName, c.name, assignmentPrefix, fieldDetails.JsonName)) + }`, fieldName, *topLevelObjectDef.ReferenceName, structName, assignmentPrefix, fieldDetails.JsonName)) } if fieldDetails.ObjectDefinition.Type == models.ListSDKObjectDefinitionType { @@ -693,7 +776,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) output = append(output, impl) } s.%[1]s = %[4]soutput - }`, fieldName, *topLevelObjectDef.ReferenceName, c.name, assignmentPrefix, fieldDetails.JsonName)) + }`, fieldName, *topLevelObjectDef.ReferenceName, structName, assignmentPrefix, fieldDetails.JsonName)) } if fieldDetails.ObjectDefinition.Type == models.ReferenceSDKObjectDefinitionType { @@ -704,7 +787,7 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, c.name)) return fmt.Errorf("unmarshaling field '%[1]s' for '%[3]s': %%+v", err) } s.%[1]s = impl - }`, fieldName, *topLevelObjectDef.ReferenceName, c.name, fieldDetails.JsonName)) + }`, fieldName, *topLevelObjectDef.ReferenceName, structName, fieldDetails.JsonName)) } } diff --git a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go index 5b51b079320..e18fa7f11ce 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go @@ -75,7 +75,12 @@ import ( // acctests licence placeholder +type ModeOfTransitBase struct { + Type string ''json:"type"'' +} + type ModeOfTransit interface { + ModeOfTransit() ModeOfTransitBase } // RawModeOfTransitImpl is returned when the Discriminated Value @@ -83,10 +88,15 @@ type ModeOfTransit interface { // NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) // and is used only for Deserialization (e.g. this cannot be used as a Request Payload). type RawModeOfTransitImpl struct { + modeOfTransit ModeOfTransitBase Type string Values map[string]interface{} } +func (s RawModeOfTransitImpl) ModeOfTransit() ModeOfTransitBase { + return s.modeOfTransit +} + func unmarshalModeOfTransitImplementation(input []byte) (ModeOfTransit, error) { if input == nil { return nil, nil @@ -118,8 +128,14 @@ func unmarshalModeOfTransitImplementation(input []byte) (ModeOfTransit, error) { return out, nil } + var parent ModeOfTransitBase + if err := json.Unmarshal(input, &parent); err != nil { + return nil, fmt.Errorf("unmarshaling into ModeOfTransitBase: modeOfTransit", err) + } + out := RawModeOfTransitImpl{ - Type: value, + modeOfTransit: parent, + Type: value, Values: temp, } return out, nil @@ -158,6 +174,13 @@ func TestTemplaterModelsImplementation(t *testing.T) { "ModeOfTransit": { FieldNameContainingDiscriminatedValue: stringPointer("Type"), Fields: map[string]models.SDKField{ + "Name": { + Required: true, + JsonName: "name", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + }, "Type": { ContainsDiscriminatedValue: true, JsonName: "type", @@ -219,6 +242,15 @@ type Train struct { Operator string ''json:"operator"'' // Fields inherited from ModeOfTransit + Name string ''json:"name"'' + Type string ''json:"type"'' +} + +func (s Train) ModeOfTransit() ModeOfTransitBase { + return ModeOfTransitBase{ + Name: s.Name, + Type: s.Type, + } } var _ json.Marshaler = Train{} @@ -269,6 +301,13 @@ func TestTemplaterModelsFieldImplementation(t *testing.T) { "ModeOfTransit": { FieldNameContainingDiscriminatedValue: stringPointer("Type"), Fields: map[string]models.SDKField{ + "Name": { + Required: true, + JsonName: "name", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + }, "Type": { ContainsDiscriminatedValue: true, JsonName: "type", @@ -443,6 +482,13 @@ type FirstImplementation struct { Serialization Serialization ''json:"serialization"'' // Fields inherited from First + Type string ''json:"type"'' +} + +func (s FirstImplementation) First() FirstBase { + return FirstBase{ + Type: s.Type, + } } var _ json.Marshaler = FirstImplementation{} From d79b5b9bbea5c6eab8a4f42a6905fcd87dad6f0c Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sat, 17 Aug 2024 12:26:48 +0100 Subject: [PATCH 065/134] importer-msgraph-metadata: output unknown array member types as `[]interface{}` --- .../components/parser/types.go | 48 +++++++++++-------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 76d57db3e30..b699af5bfb0 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -214,11 +214,11 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj return &sdkModels.SDKObjectDefinition{ NestedItem: &sdkModels.SDKObjectDefinition{ - Nullable: f.Nullable, ReferenceName: f.ModelName, ReferenceNameIsCommonType: pointer.To(models[*f.ModelName].Common), Type: sdkModels.ReferenceSDKObjectDefinitionType, }, + Nullable: f.Nullable, ReferenceName: nil, Type: sdkModels.ListSDKObjectDefinitionType, }, nil @@ -228,25 +228,32 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj // TODO validate constant exists return &sdkModels.SDKObjectDefinition{ NestedItem: &sdkModels.SDKObjectDefinition{ - Nullable: f.Nullable, ReferenceName: f.ConstantName, Type: sdkModels.ReferenceSDKObjectDefinitionType, }, - Type: sdkModels.ListSDKObjectDefinitionType, + Nullable: f.Nullable, + Type: sdkModels.ListSDKObjectDefinitionType, }, nil } if f.ItemType != nil { return &sdkModels.SDKObjectDefinition{ NestedItem: &sdkModels.SDKObjectDefinition{ - Nullable: f.Nullable, - Type: f.ItemType.DataApiSdkObjectDefinitionType(), + Type: f.ItemType.DataApiSdkObjectDefinitionType(), }, - Type: sdkModels.ListSDKObjectDefinitionType, + Nullable: f.Nullable, + Type: sdkModels.ListSDKObjectDefinitionType, }, nil } - return nil, nil + // Unknown types should be []interface{} + return &sdkModels.SDKObjectDefinition{ + NestedItem: &sdkModels.SDKObjectDefinition{ + Type: sdkModels.RawObjectSDKObjectDefinitionType, + }, + Nullable: f.Nullable, + Type: sdkModels.ListSDKObjectDefinitionType, + }, nil } if f.ConstantName != nil { @@ -690,16 +697,18 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta model := Model{ Fields: map[string]*ModelField{ "ODataId": { - Title: "ODataId", - Type: pointer.To(DataTypeString), - Default: "", - JsonField: "@odata.id", + Title: "ODataId", + Description: "The OData ID of this entity", + Type: pointer.To(DataTypeString), + Default: "", + JsonField: "@odata.id", }, "ODataType": { - Title: "ODataType", - Type: pointer.To(DataTypeString), - Default: "", - JsonField: "@odata.type", + Title: "ODataType", + Description: "The OData Type of this entity", + Type: pointer.To(DataTypeString), + Default: "", + JsonField: "@odata.type", }, }, Common: common, @@ -820,10 +829,11 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta } model.Fields[bindFieldName] = &ModelField{ - Title: bindFieldName, - Type: fieldType, - ItemType: itemType, - JsonField: fmt.Sprintf("%s@odata.bind", jsonField), + Title: bindFieldName, + Description: fmt.Sprintf("List of OData IDs for `%s` to bind to this entity", normalize.CleanName(jsonField)), + Type: fieldType, + ItemType: itemType, + JsonField: fmt.Sprintf("%s@odata.bind", jsonField), } } From 70694a34938ff7779a5eb8053636d5fbe22047ec Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sat, 17 Aug 2024 12:27:25 +0100 Subject: [PATCH 066/134] importer-msgraph-metadata: remove prefix from actions in URL segments --- .../components/parser/resourceids.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index ba7e444387c..72616083445 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -381,9 +381,19 @@ func NewResourceId(path string, tags []string) (id ResourceId) { } } else if strings.HasPrefix(strings.ToLower(s), "microsoft.graph.") || strings.HasPrefix(strings.ToLower(s), "graph.") { if tagSuffix(".actions") { + value := s + if strings.HasPrefix(strings.ToLower(value), "microsoft.graph.") { + value = value[16:] + } + if strings.HasPrefix(strings.ToLower(value), "graph.") { + value = value[6:] + } + if value == "" { + value = s + } segment = ResourceIdSegment{ Type: SegmentAction, - Value: s, + Value: value, Field: nil, } } else { From 23b48991275b5594a4ff5024758419238ff8d694 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sat, 17 Aug 2024 15:21:16 +0100 Subject: [PATCH 067/134] generator-go-sdk: handle ReadOnly fields by omitting them when marshalling --- .../internal/generator/helpers_test.go | 2 +- .../internal/generator/templater_models.go | 92 ++++++++------ .../generator/templater_models_test.go | 114 ++++++++++++++++++ 3 files changed, 173 insertions(+), 35 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/helpers_test.go b/tools/generator-go-sdk/internal/generator/helpers_test.go index d9b43f4bd9c..3e9241afeea 100644 --- a/tools/generator-go-sdk/internal/generator/helpers_test.go +++ b/tools/generator-go-sdk/internal/generator/helpers_test.go @@ -61,7 +61,7 @@ Actual Value: --- %s --- -`, i, expectedLine, actualLine, normalizedExpectedValue, normalizedActualValue) +`, i+1, expectedLine, actualLine, normalizedExpectedValue, normalizedActualValue) } } } diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index a057fef2548..ee1b67326f3 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -11,8 +11,6 @@ import ( "github.com/hashicorp/pandora/tools/generator-go-sdk/internal/featureflags" ) -// TODO: add unit tests covering this - var _ templaterForResource = modelsTemplater{} type modelsTemplater struct { @@ -249,7 +247,6 @@ func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDe } } } - // TODO: proper support for ReadOnly fields, which is likely to necessitate a custom marshal func if isOptional || fieldDetails.ReadOnly { if !strings.HasPrefix(fieldType, "nullable.") { fieldType = fmt.Sprintf("*%s", fieldType) @@ -347,7 +344,7 @@ func (c modelsTemplater) dateFunctionForField(fieldName string, fieldDetails mod } // Get{Name}AsTime method for getting *time.Time from a string - if fieldDetails.Optional || fieldDetails.ReadOnly { // TODO: work out how to handle ReadOnly fields + if fieldDetails.Optional || fieldDetails.ReadOnly { linesForField = append(linesForField, fmt.Sprintf("\t\tif o.%s == nil {", fieldName)) linesForField = append(linesForField, fmt.Sprintf("\t\t\treturn nil, nil")) linesForField = append(linesForField, fmt.Sprintf("\t\t}")) @@ -428,15 +425,25 @@ func (s %[1]s) %[2]s() %[2]sBase { func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, error) { output := "" - if c.model.DiscriminatedValue == nil { - return &output, nil + readOnlyFields := make([]string, 0) + for fieldName, field := range c.model.Fields { + if field.ReadOnly { + readOnlyFields = append(readOnlyFields, fieldName) + } } - if c.model.FieldNameContainingDiscriminatedValue == nil { - return nil, fmt.Errorf("model %q must contain a TypeHintIn when a TypeHintValue is present", c.name) + // Only output a Marshal function when there are discriminated value or read-only fields to customize + if c.model.DiscriminatedValue == nil && len(readOnlyFields) == 0 { + return &output, nil } - if c.model.ParentTypeName == nil { - return nil, fmt.Errorf("model %q must contain a ParentTypeName when a TypeHintValue is present", c.name) + + if c.model.DiscriminatedValue != nil { + if c.model.FieldNameContainingDiscriminatedValue == nil { + return nil, fmt.Errorf("model %q must contain a TypeHintIn when a TypeHintValue is present", c.name) + } + if c.model.ParentTypeName == nil { + return nil, fmt.Errorf("model %q must contain a ParentTypeName when a TypeHintValue is present", c.name) + } } structName := c.name @@ -446,25 +453,6 @@ func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, e structName = fmt.Sprintf("%sBase", c.name) } - parentModel, ok := data.models[*c.model.ParentTypeName] - if !ok { - return nil, fmt.Errorf("the parent model %q for model %q was not found", *c.model.ParentTypeName, c.name) - } - - // the TypeHintIn field comes from the parent and so won't be output on the inherited items - field, ok := parentModel.Fields[*c.model.FieldNameContainingDiscriminatedValue] - if !ok { - if parentModel.ParentTypeName != nil { - parentField, _, err := c.recurseParentModels(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) - if err != nil { - return nil, err - } - field = *parentField - } else { - return nil, fmt.Errorf("the field %q was not found on the parent model %q for model %q", *c.model.FieldNameContainingDiscriminatedValue, *c.model.ParentTypeName, c.name) - } - } - output += fmt.Sprintf(` var _ json.Marshaler = %[1]s{} @@ -480,7 +468,37 @@ func (s %[1]s) MarshalJSON() ([]byte, error) { if err := json.Unmarshal(encoded, &decoded); err != nil { return nil, fmt.Errorf("unmarshaling %[1]s: %%+v", err) } - decoded[%[2]q] = %[3]q + +`, structName) + + for _, fieldName := range readOnlyFields { + output += fmt.Sprintf(" delete(decoded, %[1]q)\n", fieldName) + } + + if c.model.DiscriminatedValue != nil { + parentModel, ok := data.models[*c.model.ParentTypeName] + if !ok { + return nil, fmt.Errorf("the parent model %q for model %q was not found", *c.model.ParentTypeName, c.name) + } + + // the TypeHintIn field comes from the parent and so won't be output on the inherited items + field, ok := parentModel.Fields[*c.model.FieldNameContainingDiscriminatedValue] + if !ok { + if parentModel.ParentTypeName != nil { + parentField, _, err := c.recurseParentModels(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) + if err != nil { + return nil, err + } + field = *parentField + } else { + return nil, fmt.Errorf("the field %q was not found on the parent model %q for model %q", *c.model.FieldNameContainingDiscriminatedValue, *c.model.ParentTypeName, c.name) + } + } + + output += fmt.Sprintf(" decoded[%[1]q] = %[2]q\n", field.JsonName, *c.model.DiscriminatedValue) + } + + output += fmt.Sprintf(` encoded, err = json.Marshal(decoded) if err != nil { @@ -489,7 +507,7 @@ func (s %[1]s) MarshalJSON() ([]byte, error) { return encoded, nil } -`, structName, field.JsonName, *c.model.DiscriminatedValue) +`, structName) return &output, nil } @@ -779,15 +797,21 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, structName)) }`, fieldName, *topLevelObjectDef.ReferenceName, structName, assignmentPrefix, fieldDetails.JsonName)) } + // if the field is read-only, we need to assign the pointer value + assignmentPrefix := "" + if fieldDetails.ReadOnly { + assignmentPrefix = "&" + } + if fieldDetails.ObjectDefinition.Type == models.ReferenceSDKObjectDefinitionType { lines = append(lines, fmt.Sprintf(` - if v, ok := temp[%[4]q]; ok { + if v, ok := temp[%[5]q]; ok { impl, err := Unmarshal%[2]sImplementation(v) if err != nil { return fmt.Errorf("unmarshaling field '%[1]s' for '%[3]s': %%+v", err) } - s.%[1]s = impl - }`, fieldName, *topLevelObjectDef.ReferenceName, structName, fieldDetails.JsonName)) + s.%[1]s = %[4]simpl + }`, fieldName, *topLevelObjectDef.ReferenceName, structName, assignmentPrefix, fieldDetails.JsonName)) } } diff --git a/tools/generator-go-sdk/internal/generator/templater_models_test.go b/tools/generator-go-sdk/internal/generator/templater_models_test.go index 6828320d382..763ca656fba 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_test.go @@ -273,3 +273,117 @@ type Basic struct { `, "''", "`") assertTemplatedCodeMatches(t, expected, *actual) } + +func TestModelTemplaterWithReadOnlyField(t *testing.T) { + actual, err := modelsTemplater{ + name: "Example", + model: models.SDKModel{ + Fields: map[string]models.SDKField{ + "Name": { + JsonName: "name", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + Required: true, + }, + "Description": { + JsonName: "description", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + Optional: true, + }, + "Type": { + JsonName: "type", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + ReadOnly: true, + }, + }, + }, + }.template(GeneratorData{ + packageName: "somepackage", + models: map[string]models.SDKModel{ + "Example": { + Fields: map[string]models.SDKField{ + "Name": { + JsonName: "name", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + Required: true, + }, + "Description": { + JsonName: "description", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + Optional: true, + }, + "Type": { + JsonName: "type", + ObjectDefinition: models.SDKObjectDefinition{ + Type: models.StringSDKObjectDefinitionType, + }, + ReadOnly: true, + }, + }, + }, + }, + source: AccTestLicenceType, + }) + if err != nil { + t.Fatal(err.Error()) + } + expected := strings.ReplaceAll(`package somepackage + +import ( + "encoding/json" + "fmt" + "strings" + "time" + "github.com/hashicorp/go-azure-helpers/lang/dates" + "github.com/hashicorp/go-azure-helpers/resourcemanager/edgezones" + "github.com/hashicorp/go-azure-helpers/resourcemanager/identity" + "github.com/hashicorp/go-azure-helpers/resourcemanager/systemdata" + "github.com/hashicorp/go-azure-helpers/resourcemanager/zones" + "github.com/hashicorp/go-azure-sdk/sdk/nullable" +) + +// acctests licence placeholder + +type Example struct { + Description *string ''json:"description,omitempty"'' + Name string ''json:"name"'' + Type *string ''json:"type,omitempty"'' +} + +var _ json.Marshaler = Example{} + +func (s Example) MarshalJSON() ([]byte, error) { + type wrapper Example + wrapped := wrapper(s) + encoded, err := json.Marshal(wrapped) + if err != nil { + return nil, fmt.Errorf("marshaling Example: %+v", err) + } + + var decoded map[string]interface{} + if err := json.Unmarshal(encoded, &decoded); err != nil { + return nil, fmt.Errorf("unmarshaling Example: %+v", err) + } + + delete(decoded, "Type") + encoded, err = json.Marshal(decoded) + + if err != nil { + return nil, fmt.Errorf("re-marshaling Example: %+v", err) + } + + return encoded, nil +} + +`, "''", "`") + assertTemplatedCodeMatches(t, expected, *actual) +} From f55f7ad9075ff47633a50ff0a9dfb6283f40bb04 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sat, 17 Aug 2024 15:23:42 +0100 Subject: [PATCH 068/134] importer-msgraph-metadata: workaround for common read-only fields --- .../workaround_conditionalaccesspolicy.go | 1 + .../workarounds/workaround_readonlyfields.go | 28 +++++++++++++++++++ .../components/workarounds/workarounds.go | 1 + 3 files changed, 30 insertions(+) create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go index c6fdb6132d1..86ca59486ca 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -5,6 +5,7 @@ package workarounds import ( "fmt" + "github.com/hashicorp/go-azure-helpers/lang/pointer" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" ) diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go new file mode 100644 index 00000000000..937aa07566c --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go @@ -0,0 +1,28 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +var _ workaround = workaroundReadOnlyFields{} + +// workaroundReadOnlyFields ensures all common readonly fields are marked as such - unfortunately the spec +// does not mark these as ReadOnly. +type workaroundReadOnlyFields struct{} + +func (workaroundReadOnlyFields) Name() string { + return "Read-Only Fields / override common readonly fields" +} + +func (workaroundReadOnlyFields) Process(apiVersion string, models parser.Models, constants parser.Constants) error { + for _, model := range models { + if _, ok := model.Fields["CreatedOnBehalfOf"]; ok { + model.Fields["CreatedOnBehalfOf"].ReadOnly = true + } + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index 6de4b99f24d..5dad0dd3734 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -11,6 +11,7 @@ import ( ) var workarounds = []workaround{ + workaroundReadOnlyFields{}, workaroundApplication{}, workaroundConditionalAccessPolicy{}, workaroundNamedLocation{}, From 48e59a17835c99c29fd9cab48d858689e5aa1a8b Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sat, 17 Aug 2024 15:24:18 +0100 Subject: [PATCH 069/134] importer-msgraph-metadata: workaround to implement discrimination for DirectoryObjects --- .../workarounds/workaround_directoryobject.go | 114 ++++++++++++++++++ .../components/workarounds/workarounds.go | 1 + 2 files changed, 115 insertions(+) create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go new file mode 100644 index 00000000000..d8c8d71b916 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go @@ -0,0 +1,114 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + + "github.com/hashicorp/go-azure-helpers/lang/pointer" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +var _ workaround = workaroundDirectoryObject{} + +// workaroundDirectoryObject implements discrimination +type workaroundDirectoryObject struct{} + +func (workaroundDirectoryObject) Name() string { + return "Directory Object / discrimination" +} + +func (workaroundDirectoryObject) Process(apiVersion string, models parser.Models, constants parser.Constants) error { + model, ok := models["DirectoryObject"] + if !ok { + return fmt.Errorf("`DirectoryObject` model not found") + } + + if _, ok = model.Fields["ODataType"]; !ok { + return fmt.Errorf("`ODataType` field not found in `DireectoryObject` model") + } + + model.Fields["ODataType"].ConstantName = pointer.To("DirectoryObjectType") + model.Fields["ODataType"].DiscriminatedValue = true + model.TypeField = pointer.To("ODataType") + + // Add constant values for the discriminated type value + constants["DirectoryObjectType"] = &parser.Constant{ + Enum: []string{ + "#microsoft.graph.administrativeUnit", + "#microsoft.graph.application", + "#microsoft.graph.device", + "#microsoft.graph.group", + "#microsoft.graph.orgContact", + "#microsoft.graph.servicePrincipal", + "#microsoft.graph.user", + }, + Type: pointer.To(parser.DataTypeString), + } + + // Set the parent model and discriminated type value for AdministrativeUnit + model, ok = models["AdministrativeUnit"] + if !ok { + return fmt.Errorf("`AdministrativeUnit` model not found") + } + model.ParentModelName = pointer.To("DirectoryObject") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.administrativeUnit") + + // Set the parent model and discriminated type value for Application + model, ok = models["Application"] + if !ok { + return fmt.Errorf("`Application` model not found") + } + model.ParentModelName = pointer.To("DirectoryObject") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.application") + + // Set the parent model and discriminated type value for Device + model, ok = models["Device"] + if !ok { + return fmt.Errorf("`Device` model not found") + } + model.ParentModelName = pointer.To("DirectoryObject") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.device") + + // Set the parent model and discriminated type value for Group + model, ok = models["Group"] + if !ok { + return fmt.Errorf("`Group` model not found") + } + model.ParentModelName = pointer.To("DirectoryObject") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.group") + + // Set the parent model and discriminated type value for OrgContact + model, ok = models["OrgContact"] + if !ok { + return fmt.Errorf("`OrgContact` model not found") + } + model.ParentModelName = pointer.To("DirectoryObject") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.orgContact") + + // Set the parent model and discriminated type value for ServicePrincipal + model, ok = models["ServicePrincipal"] + if !ok { + return fmt.Errorf("`ServicePrincipal` model not found") + } + model.ParentModelName = pointer.To("DirectoryObject") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.servicePrincipal") + + // Set the parent model and discriminated type value for User + model, ok = models["User"] + if !ok { + return fmt.Errorf("`User` model not found") + } + model.ParentModelName = pointer.To("DirectoryObject") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#microsoft.graph.user") + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index 5dad0dd3734..c2c851a1ec0 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -14,6 +14,7 @@ var workarounds = []workaround{ workaroundReadOnlyFields{}, workaroundApplication{}, workaroundConditionalAccessPolicy{}, + workaroundDirectoryObject{}, workaroundNamedLocation{}, workaroundIPRange{}, } From d559a5977404a1a8059a96d7793c9c1195e95309 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sat, 17 Aug 2024 15:25:16 +0100 Subject: [PATCH 070/134] importer-msgraph-metadata: clean up field description for OData Bind fields --- .../importer-msgraph-metadata/components/parser/types.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index b699af5bfb0..c37d5b04ffd 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -820,6 +820,13 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta if field.ModelName != nil && strings.EqualFold(*field.ModelName, "DirectoryObject") { bindFieldName := fmt.Sprintf("%s_ODataBind", normalize.CleanName(jsonField)) + description := "" + if *field.Type == DataTypeArray { + description = fmt.Sprintf("List of OData IDs for `%s` to bind to this entity", normalize.CleanName(jsonField)) + } else { + description = fmt.Sprintf("OData ID for `%s` to bind to this entity", normalize.CleanName(jsonField)) + } + var fieldType, itemType *DataType fieldType = pointer.To(DataTypeString) @@ -830,7 +837,7 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta model.Fields[bindFieldName] = &ModelField{ Title: bindFieldName, - Description: fmt.Sprintf("List of OData IDs for `%s` to bind to this entity", normalize.CleanName(jsonField)), + Description: description, Type: fieldType, ItemType: itemType, JsonField: fmt.Sprintf("%s@odata.bind", jsonField), From 91b5eb09432b0e552abff115f188cd6aa4481b3e Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 03:56:30 +0100 Subject: [PATCH 071/134] data-api: support descriptions for operations --- .../repository/internal/models/operations.go | 3 +++ .../internal/transforms/sdk_operation.go | 2 ++ .../sdk_operation_object_definition.go | 16 +++++++++++++--- .../golang_type_for_sdk_object_definition.go | 1 + tools/data-api-sdk/v1/models/sdk_operation.go | 3 +++ 5 files changed, 22 insertions(+), 3 deletions(-) diff --git a/tools/data-api-repository/repository/internal/models/operations.go b/tools/data-api-repository/repository/internal/models/operations.go index 7114e73a658..bbd0e31114c 100644 --- a/tools/data-api-repository/repository/internal/models/operations.go +++ b/tools/data-api-repository/repository/internal/models/operations.go @@ -11,6 +11,9 @@ type Operation struct { // ContentType specifies the format of the information being sent with the Operation (e.g. `application/json; charset=utf-8`) ContentType string `json:"contentType"` + // Description is used to write a comment for the operation method + Description string `json:"description"` + // ExpectedStatusCodes specifies is a list of Status Codes which are expected to be returned (e.g. 200, 201) ExpectedStatusCodes []int `json:"expectedStatusCodes"` diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_operation.go b/tools/data-api-repository/repository/internal/transforms/sdk_operation.go index e82e3e70390..71209fcfc87 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_operation.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_operation.go @@ -28,6 +28,7 @@ func MapSDKOperationFromRepository(input repositoryModels.Operation, knownData h } output := sdkModels.SDKOperation{ ContentType: input.ContentType, + Description: input.Description, ExpectedStatusCodes: input.ExpectedStatusCodes, FieldContainingPaginationDetails: input.FieldContainingPaginationDetails, LongRunning: input.LongRunning, @@ -74,6 +75,7 @@ func MapSDKOperationToRepository(operationName string, input sdkModels.SDKOperat output := repositoryModels.Operation{ Name: operationName, ContentType: contentType, + Description: input.Description, ExpectedStatusCodes: input.ExpectedStatusCodes, FieldContainingPaginationDetails: input.FieldContainingPaginationDetails, LongRunning: input.LongRunning, diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go b/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go index 88e1d1cf707..61fdc38e133 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_operation_object_definition.go @@ -12,6 +12,8 @@ import ( sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" ) +var specialPackageNames = []string{"odata"} + func mapSDKOperationOptionObjectDefinitionFromRepository(input repositoryModels.OptionObjectDefinition, knownData helpers.KnownData) (*sdkModels.SDKOperationOptionObjectDefinition, error) { typeVal, ok := sdkOperationOptionsFromRepository[input.Type] if !ok { @@ -25,7 +27,13 @@ func mapSDKOperationOptionObjectDefinitionFromRepository(input repositoryModels. } if input.ReferenceName != nil { - if !strings.HasPrefix(*input.ReferenceName, "odata.") { + referencedObjectInSpecialPackage := false + for _, packageName := range specialPackageNames { + if strings.HasPrefix(*input.ReferenceName, fmt.Sprintf("%s.", packageName)) { + referencedObjectInSpecialPackage = true + } + } + if !referencedObjectInSpecialPackage { isConstant := knownData.ConstantExists(*input.ReferenceName) isModel := knownData.ModelExists(*input.ReferenceName) if !isConstant && !isModel { @@ -96,8 +104,10 @@ func validateSDKOperationOptionObjectDefinition(input repositoryModels.OptionObj return fmt.Errorf("a Reference must be specified for a %q type but didn't get one", string(input.Type)) } - if strings.HasPrefix(*input.ReferenceName, "odata.") { - return nil + for _, packageName := range specialPackageNames { + if strings.HasPrefix(*input.ReferenceName, fmt.Sprintf("%s.", packageName)) { + return nil + } } isConstant := knownData.ConstantExists(*input.ReferenceName) diff --git a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go index bac359bbbda..90175f6b341 100644 --- a/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go +++ b/tools/data-api-sdk/v1/helpers/golang_type_for_sdk_object_definition.go @@ -57,6 +57,7 @@ func GolangTypeForSDKObjectDefinition(input models.SDKObjectDefinition, golangPa return nil, fmt.Errorf("missing Reference for a Reference ObjectDefinition") } + // Prepend a containing package name to the type where necessary out := *input.ReferenceName if golangPackageName != nil { out = fmt.Sprintf("%s.%s", *golangPackageName, out) diff --git a/tools/data-api-sdk/v1/models/sdk_operation.go b/tools/data-api-sdk/v1/models/sdk_operation.go index bd1b022ea4f..f17e04d7da3 100644 --- a/tools/data-api-sdk/v1/models/sdk_operation.go +++ b/tools/data-api-sdk/v1/models/sdk_operation.go @@ -12,6 +12,9 @@ type SDKOperation struct { // performing the Request for this Operation. ContentType string `json:"contentType"` + // Description is used to write a comment for the operation method + Description string `json:"description"` + // ExpectedStatusCodes specifies the list of Status Codes which are expected to be // returned by this Operation. ExpectedStatusCodes []int `json:"expectedStatusCodes"` From 90ccc1019a7e063e579166bb0ac109ed38e7e291 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 03:56:55 +0100 Subject: [PATCH 072/134] generator-go-sdk: use operation descriptions to output method comments --- .../internal/generator/helpers.go | 22 ++++++++++++ .../internal/generator/templater_methods.go | 36 +++++++++++++++---- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/helpers.go b/tools/generator-go-sdk/internal/generator/helpers.go index c76a85e3841..b349074bab6 100644 --- a/tools/generator-go-sdk/internal/generator/helpers.go +++ b/tools/generator-go-sdk/internal/generator/helpers.go @@ -160,3 +160,25 @@ func wordifyString(input string) string { return strings.TrimPrefix(output, " ") } + +// wrapOnWordBoundary attempts to wrap a string on whitespace to the specified maximum length, optionally +// prefixing each line with the provided prefix (useful for comments). +func wrapOnWordBoundary(in string, maxLength int, prefix string) string { + words := strings.Fields(in) + out := make([]string, 0) + currentLine := prefix + + for _, word := range words { + if len(currentLine)+len(word) > maxLength { + out = append(out, currentLine) + currentLine = prefix + } + currentLine = fmt.Sprintf("%s %s", currentLine, word) + } + + if currentLine != prefix { + out = append(out, currentLine) + } + + return strings.Join(out, "\n") +} diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index 9e5e6f865d3..a55c14c7086 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -163,12 +163,20 @@ func (c methodsPandoraTemplater) immediateOperationTemplate(data GeneratorData) return nil, fmt.Errorf("building options struct: %+v", err) } + comment := c.operationName + if c.operation.Description != "" { + comment += fmt.Sprintf(": %s", c.operation.Description) + } else { + comment += " ..." + } + comment = wrapOnWordBoundary(comment, 120, "//") + templated := fmt.Sprintf(` %[7]s %[8]s %[9]s -// %[2]s ... +%[10]s func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, err error) { opts := %[4]s @@ -194,7 +202,7 @@ func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, return } -`, data.serviceClientName, c.operationName, *methodArguments, *requestOptions, *marshalerCode, *unmarshalerCode, *responseStruct, *optionsStruct, requestOptionStruct) +`, data.serviceClientName, c.operationName, *methodArguments, *requestOptions, *marshalerCode, *unmarshalerCode, *responseStruct, *optionsStruct, requestOptionStruct, comment) return &templated, nil } @@ -226,12 +234,20 @@ func (c methodsPandoraTemplater) longRunningOperationTemplate(data GeneratorData return nil, fmt.Errorf("building options struct: %+v", err) } + comment := c.operationName + if c.operation.Description != "" { + comment += fmt.Sprintf(": %s", c.operation.Description) + } else { + comment += " ..." + } + comment = wrapOnWordBoundary(comment, 120, "//") + templated := fmt.Sprintf(` %[9]s %[10]s %[11]s -// %[3]s ... +%[12]s func (c %[1]s) %[3]s(ctx context.Context %[4]s) (result %[3]sOperationResponse, err error) { opts := %[5]s @@ -275,7 +291,7 @@ func (c %[1]s) %[3]sThenPoll(ctx context.Context %[4]s) error { return nil } -`, data.serviceClientName, data.baseClientPackage, c.operationName, *methodArguments, *requestOptions, *marshalerCode, *unmarshalerCode, argumentsCode, *responseStruct, *optionsStruct, requestOptionStruct) +`, data.serviceClientName, data.baseClientPackage, c.operationName, *methodArguments, *requestOptions, *marshalerCode, *unmarshalerCode, argumentsCode, *responseStruct, *optionsStruct, requestOptionStruct, comment) return &templated, nil } @@ -313,12 +329,20 @@ func (c methodsPandoraTemplater) listOperationTemplate(data GeneratorData) (*str predicateName = fmt.Sprintf("%s%s", *typeName, predicateName) } + comment := c.operationName + if c.operation.Description != "" { + comment += fmt.Sprintf(": %s", c.operation.Description) + } else { + comment += " ..." + } + comment = wrapOnWordBoundary(comment, 120, "//") + templated := fmt.Sprintf(` %[6]s %[7]s %[8]s -// %[2]s ... +%[9]s func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, err error) { opts := %[4]s @@ -341,7 +365,7 @@ func (c %[1]s) %[2]s(ctx context.Context %[3]s) (result %[2]sOperationResponse, return } -`, data.serviceClientName, c.operationName, *methodArguments, *requestOptions, *unmarshalerCode, *responseStruct, *optionsStruct, requestOptionStruct) +`, data.serviceClientName, c.operationName, *methodArguments, *requestOptions, *unmarshalerCode, *responseStruct, *optionsStruct, requestOptionStruct, comment) // Only output predicate functions for models and not for base types like string, int etc. if c.operation.ResponseObject.Type == models.ReferenceSDKObjectDefinitionType || c.operation.ResponseObject.Type == models.ListSDKObjectDefinitionType { From 5311455afb95e0c0809c6cd93d90fa774b1fcfb6 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 03:57:25 +0100 Subject: [PATCH 073/134] importer-msgraph-metadata: set descriptions for operations --- .../components/parser/resources.go | 1 + .../internal/pipeline/task_parse_resources.go | 9 +++++++++ .../internal/pipeline/task_translate_service.go | 1 + 3 files changed, 11 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/parser/resources.go b/tools/importer-msgraph-metadata/components/parser/resources.go index 755ea85ff10..11dc30a6138 100644 --- a/tools/importer-msgraph-metadata/components/parser/resources.go +++ b/tools/importer-msgraph-metadata/components/parser/resources.go @@ -21,6 +21,7 @@ type Resource struct { type Operation struct { Name string + Description string Type OperationType Method string ResourceId *ResourceId diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index afc40d4335d..3bb63ee2bd3 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -346,8 +346,17 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } + operationDescription := make([]string, 0) + if operation.Summary != "" { + operationDescription = append(operationDescription, operation.Summary) + } + if operation.Description != "" { + operationDescription = append(operationDescription, operation.Description) + } + resources[resourceName].Operations = append(resources[resourceName].Operations, parser.Operation{ Name: operationName, + Description: strings.Join(operationDescription, ". "), Type: operationType, Method: method, ResourceId: resourceId, diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index e1d1c61dfe8..e632e89fb61 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -296,6 +296,7 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv sdkService.APIVersions[resource.Version].Resources[resource.Category].Operations[operation.Name] = sdkModels.SDKOperation{ ContentType: contentType, + Description: operation.Description, ExpectedStatusCodes: expectedStatusCodes, FieldContainingPaginationDetails: operation.PaginationField, LongRunning: false, From a23cef6693628ee5f619f29ac55b1344609a1cba Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 15:55:03 +0100 Subject: [PATCH 074/134] importer-msgraph-metadata: clean up operation descriptions --- .../internal/pipeline/task_parse_resources.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index 3bb63ee2bd3..f1379c1e3f2 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -346,17 +346,22 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } - operationDescription := make([]string, 0) + descriptionChunks := make([]string, 0) if operation.Summary != "" { - operationDescription = append(operationDescription, operation.Summary) + descriptionChunks = append(descriptionChunks, operation.Summary) } if operation.Description != "" { - operationDescription = append(operationDescription, operation.Description) + descriptionChunks = append(descriptionChunks, operation.Description) } + // Trim a trailing colon/semicolon from descriptions because they are confusing + operationDescription := strings.Join(descriptionChunks, ". ") + operationDescription = strings.TrimPrefix(operationDescription, ":") + operationDescription = strings.TrimPrefix(operationDescription, ";") + resources[resourceName].Operations = append(resources[resourceName].Operations, parser.Operation{ Name: operationName, - Description: strings.Join(operationDescription, ". "), + Description: operationDescription, Type: operationType, Method: method, ResourceId: resourceId, From de9120adc4ebc11e76d406c58102dc7a02e0cd1b Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 19:42:00 +0100 Subject: [PATCH 075/134] generator-go-sdk: sort read-only fields for consistency --- tools/generator-go-sdk/internal/generator/templater_models.go | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index ee1b67326f3..c982ca2573a 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -431,6 +431,7 @@ func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, e readOnlyFields = append(readOnlyFields, fieldName) } } + sort.Strings(readOnlyFields) // Only output a Marshal function when there are discriminated value or read-only fields to customize if c.model.DiscriminatedValue == nil && len(readOnlyFields) == 0 { From e0f4e9a30ec33f3f4b042d7ea0667e4a7821a4ef Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 19:49:17 +0100 Subject: [PATCH 076/134] generator-go-sdk: should use the actual json field name when working with a decoded map --- tools/generator-go-sdk/internal/generator/templater_models.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index c982ca2573a..b2d9712f32e 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -426,9 +426,9 @@ func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, e output := "" readOnlyFields := make([]string, 0) - for fieldName, field := range c.model.Fields { + for _, field := range c.model.Fields { if field.ReadOnly { - readOnlyFields = append(readOnlyFields, fieldName) + readOnlyFields = append(readOnlyFields, field.JsonName) } } sort.Strings(readOnlyFields) From 1b7c65e1243a0a04cf8780bcee6f563905ce32d3 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 19:50:02 +0100 Subject: [PATCH 077/134] importer-msgraph-metadata: use `interface{}` not `string` for unknown field types --- tools/importer-msgraph-metadata/components/parser/types.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index c37d5b04ffd..295a9935ef9 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -121,7 +121,6 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { } if objectDefinition == nil { - //return nil, fmt.Errorf("could not determine SDKObjectDefinition for field: %s", fieldName) logging.Warnf("Could not determine SDKObjectDefinition for field %q, skipping", fieldName) continue } @@ -317,8 +316,8 @@ func (ft DataType) DataApiSdkObjectDefinitionType() sdkModels.SDKObjectDefinitio return sdkModels.RawFileSDKObjectDefinitionType } - // Fall back to string where the type is not known - return sdkModels.StringSDKObjectDefinitionType + // Fall back to `interface{}` where the type is not known + return sdkModels.RawObjectSDKObjectDefinitionType } func (ft DataType) DataApiSdkOperationOptionObjectDefinitionType() sdkModels.SDKOperationOptionObjectDefinitionType { From f082d47d5ab927f61dea96bdb588dd09443419c9 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 19:50:45 +0100 Subject: [PATCH 078/134] importer-msgraph-metadata: detect nullable, read-only and required fields from the field description. remove manual workaround. --- .../components/parser/types.go | 11 ++++++++ .../workaround_conditionalaccesspolicy.go | 2 +- .../workarounds/workaround_directoryobject.go | 3 +- .../workarounds/workaround_iprange.go | 2 +- .../workarounds/workaround_namedlocation.go | 2 +- .../workarounds/workaround_readonlyfields.go | 28 ------------------- .../components/workarounds/workarounds.go | 1 - 7 files changed, 16 insertions(+), 33 deletions(-) delete mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 295a9935ef9..20a7faff251 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -736,6 +736,17 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta JsonField: jsonField, } + // Detect nullable, read-only and requried fields from the description + if strings.Contains(schema.Description, "Nullable.") { + field.Nullable = true + } + if strings.Contains(schema.Description, "Read-only.") { + field.ReadOnly = true + } + if strings.Contains(schema.Description, "Required.") { + field.Required = true + } + if field.Title == "" { continue } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go index 86ca59486ca..45e9d556814 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -116,7 +116,7 @@ func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parse return fmt.Errorf("`ConditionalAccessUsers` model not found") } - // cloudAppSecurityPolicy must be null to unset it, so make it nullable + required + // excludeGuestsOrExternalUsers / includeGuestsOrExternalUsers must be null to unset them, so make them nullable + required if _, ok = model.Fields["ExcludeGuestsOrExternalUsers"]; !ok { return fmt.Errorf("`ExcludeGuestsOrExternalUsers` field not found") } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go index d8c8d71b916..7537117688b 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go @@ -12,7 +12,8 @@ import ( var _ workaround = workaroundDirectoryObject{} -// workaroundDirectoryObject implements discrimination +// workaroundDirectoryObject implements discrimination for the most common implementations of DirectoryObject. More +// can be added as necessary over time; unfortunately there doesn't seem to be any way of auto-detecting these. type workaroundDirectoryObject struct{} func (workaroundDirectoryObject) Name() string { diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go index f66abd30778..73bd11dd025 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go @@ -12,7 +12,7 @@ import ( var _ workaround = workaroundIPRange{} -// workaroundIPRange implements discrimination +// workaroundIPRange implements discrimination for iPv4CidrRange, iPv4Range, iPv6CidrRange, and iPv6Range type workaroundIPRange struct{} func (workaroundIPRange) Name() string { diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go index 8a66c1994a8..540101b3941 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go @@ -12,7 +12,7 @@ import ( var _ workaround = workaroundNamedLocation{} -// workaroundNamedLocation implements discrimination +// workaroundNamedLocation implements discrimination for countryNamedLocation and ipNamedLocation type workaroundNamedLocation struct{} func (workaroundNamedLocation) Name() string { diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go deleted file mode 100644 index 937aa07566c..00000000000 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_readonlyfields.go +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package workarounds - -import ( - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" -) - -var _ workaround = workaroundReadOnlyFields{} - -// workaroundReadOnlyFields ensures all common readonly fields are marked as such - unfortunately the spec -// does not mark these as ReadOnly. -type workaroundReadOnlyFields struct{} - -func (workaroundReadOnlyFields) Name() string { - return "Read-Only Fields / override common readonly fields" -} - -func (workaroundReadOnlyFields) Process(apiVersion string, models parser.Models, constants parser.Constants) error { - for _, model := range models { - if _, ok := model.Fields["CreatedOnBehalfOf"]; ok { - model.Fields["CreatedOnBehalfOf"].ReadOnly = true - } - } - - return nil -} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index c2c851a1ec0..f78f8c627a1 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -11,7 +11,6 @@ import ( ) var workarounds = []workaround{ - workaroundReadOnlyFields{}, workaroundApplication{}, workaroundConditionalAccessPolicy{}, workaroundDirectoryObject{}, From a06fc9a992489382c62af0d2ac91555450bcd079 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 19:55:37 +0100 Subject: [PATCH 079/134] importer-msgraph-metadata: extra safety when assumung nullable fields from description --- tools/importer-msgraph-metadata/components/parser/types.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 20a7faff251..05cf5c6e30e 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -737,13 +737,13 @@ func Schemas(input flattenedSchema, name string, models Models, constants Consta } // Detect nullable, read-only and requried fields from the description - if strings.Contains(schema.Description, "Nullable.") { + if (strings.HasPrefix(schema.Description, "Nullable.") || strings.Contains(schema.Description, " Nullable.")) && !strings.Contains(strings.ToLower(schema.Description), "not nullable.") { field.Nullable = true } - if strings.Contains(schema.Description, "Read-only.") { + if strings.HasPrefix(schema.Description, "Read-only.") || strings.Contains(schema.Description, " Read-only.") { field.ReadOnly = true } - if strings.Contains(schema.Description, "Required.") { + if strings.HasPrefix(schema.Description, "Required.") || strings.Contains(schema.Description, " Required.") { field.Required = true } From 85d039856bc040a40d9c961e162ce41907a64bb9 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 23:32:45 +0100 Subject: [PATCH 080/134] generator-go-sdk: bugfix - escape formatting directive --- tools/generator-go-sdk/internal/generator/templater_models.go | 2 +- .../internal/generator/templater_models_discriminators_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index b2d9712f32e..bb5a3e85d1e 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -603,7 +603,7 @@ func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { lines = append(lines, fmt.Sprintf(` var parent %[1]sBase if err := json.Unmarshal(input, &parent); err != nil { - return nil, fmt.Errorf("unmarshaling into %[1]sBase: %+v", err) + return nil, fmt.Errorf("unmarshaling into %[1]sBase: %%+v", err) } out := Raw%[1]sImpl{ diff --git a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go index e18fa7f11ce..825153f7542 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go @@ -130,7 +130,7 @@ func unmarshalModeOfTransitImplementation(input []byte) (ModeOfTransit, error) { var parent ModeOfTransitBase if err := json.Unmarshal(input, &parent); err != nil { - return nil, fmt.Errorf("unmarshaling into ModeOfTransitBase: modeOfTransit", err) + return nil, fmt.Errorf("unmarshaling into ModeOfTransitBase: %+v", err) } out := RawModeOfTransitImpl{ From 789b1b37d64755b86a3451c32baf470071a97e8d Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Sun, 18 Aug 2024 23:50:10 +0100 Subject: [PATCH 081/134] generator-go-sdk: wrap comment lines for model fields --- tools/generator-go-sdk/internal/generator/helpers.go | 6 +++--- .../generator-go-sdk/internal/generator/templater_models.go | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/helpers.go b/tools/generator-go-sdk/internal/generator/helpers.go index b349074bab6..4a7d71f1cb5 100644 --- a/tools/generator-go-sdk/internal/generator/helpers.go +++ b/tools/generator-go-sdk/internal/generator/helpers.go @@ -169,15 +169,15 @@ func wrapOnWordBoundary(in string, maxLength int, prefix string) string { currentLine := prefix for _, word := range words { - if len(currentLine)+len(word) > maxLength { - out = append(out, currentLine) + if len(currentLine)+len(word) >= maxLength { + out = append(out, strings.TrimSpace(currentLine)) currentLine = prefix } currentLine = fmt.Sprintf("%s %s", currentLine, word) } if currentLine != prefix { - out = append(out, currentLine) + out = append(out, strings.TrimSpace(currentLine)) } return strings.Join(out, "\n") diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index bb5a3e85d1e..7ed1c799e71 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -146,7 +146,7 @@ func (c modelsTemplater) structCode(data GeneratorData) (*string, error) { formattedStructLines := make([]string, 0) for i, v := range structLines { - if strings.Contains(v, "//") { + if strings.HasPrefix(strings.TrimSpace(v), "//") { if i > 0 && !strings.HasSuffix(formattedStructLines[i-1], "\n") { v = "\n" + v } @@ -259,8 +259,8 @@ func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDe line := fmt.Sprintf("\t%s %s `json:\"%s\"`", fieldName, fieldType, jsonDetails) if data.generateDescriptionsForModels && fieldDetails.Description != "" { - description := fmt.Sprintf("// %s", fieldDetails.Description) - line = fmt.Sprintf("%s\n%s", description, line) + comment := wrapOnWordBoundary(fieldDetails.Description, 120, "//") + line = fmt.Sprintf("%s\n%s", comment, line) } return &line, nil From 906cf849f1d3aa7415060eae25836eb2265a647c Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 19 Aug 2024 00:35:01 +0100 Subject: [PATCH 082/134] tooling: split end-to-end tests by SDK for easier analysis --- .../unit-test-end-to-end-microsoft-graph.yaml | 35 +++++++++++++++++++ ...unit-test-end-to-end-resource-manager.yaml | 2 +- scripts/automation-generate-go-sdk.sh | 31 +++++++++------- 3 files changed, 55 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/unit-test-end-to-end-microsoft-graph.yaml diff --git a/.github/workflows/unit-test-end-to-end-microsoft-graph.yaml b/.github/workflows/unit-test-end-to-end-microsoft-graph.yaml new file mode 100644 index 00000000000..cb4bf62c49e --- /dev/null +++ b/.github/workflows/unit-test-end-to-end-microsoft-graph.yaml @@ -0,0 +1,35 @@ +--- +name: Verify All Microsoft Graph Services can be Imported and Generated +on: + pull_request: + types: ['opened', 'synchronize'] + paths: + - '.github/workflows/**' + - 'config/**' + +jobs: + test: + runs-on: custom-linux-xl + strategy: + fail-fast: true + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + submodules: recursive + + - uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 + with: + go-version-file: ./.go-version + + - name: "Build and Run importer-msgraph-metadata" + id: import-data + run: | + cd ./tools/importer-msgraph-metadata + make tools + make build + make import + + - name: "Run the Go SDK Generator" + run: | + # go go gadget generator + ./scripts/automation-generate-go-sdk.sh microsoft-graph diff --git a/.github/workflows/unit-test-end-to-end-resource-manager.yaml b/.github/workflows/unit-test-end-to-end-resource-manager.yaml index f9a08ef1dbb..a3feb831fe5 100644 --- a/.github/workflows/unit-test-end-to-end-resource-manager.yaml +++ b/.github/workflows/unit-test-end-to-end-resource-manager.yaml @@ -32,4 +32,4 @@ jobs: - name: "Run the Go SDK Generator" run: | # go go gadget generator - ./scripts/automation-generate-go-sdk.sh + ./scripts/automation-generate-go-sdk.sh resource-manager diff --git a/scripts/automation-generate-go-sdk.sh b/scripts/automation-generate-go-sdk.sh index 034d352e46c..f5e5d81b9fc 100755 --- a/scripts/automation-generate-go-sdk.sh +++ b/scripts/automation-generate-go-sdk.sh @@ -7,6 +7,19 @@ set -e DIR="$(cd "$(dirname "$0")" && pwd)/.." +sdkToGenerate="${1}" +if [[ "${sdkToGenerate}" == "" ]]; then + echo "must specify SDK to generate!" >&2 + echo "" >&2 + echo "supported values are:" >&2 + echo " microsoft-graph" >&2 + echo " resource-manager" >&2 + echo "" >&2 + echo "example usage:" >&2 + echo "${0} resource-manager" >&2 + exit 1 +fi + function buildAndInstallDependencies { echo "Outputting Go Version.." go version @@ -31,15 +44,9 @@ function runWrapper { local apiDefinitionsDirectory=$1 local outputDirectory=$2 - echo "Running Wrapper for Resource Manager.." - cd "${DIR}/tools/wrapper-automation" - ./wrapper-automation resource-manager go-sdk \ - --api-definitions-dir="../../$apiDefinitionsDirectory"\ - --output-dir="../../$outputDirectory" - - echo "Running Wrapper for Microsoft Graph.." + echo "Running Wrapper for ${sdkToGenerate}.." cd "${DIR}/tools/wrapper-automation" - ./wrapper-automation microsoft-graph go-sdk \ + ./wrapper-automation "${sdkToGenerate}" go-sdk \ --api-definitions-dir="../../$apiDefinitionsDirectory"\ --output-dir="../../$outputDirectory" @@ -61,11 +68,11 @@ function runWrapper { function runGoSDKUnitTests { local outputDirectory=$1 - cd "${DIR}" + echo "Running unit tests within the SDK codebase.." + cd "${outputDirectory}/${sdkToGenerate}" + go test -v ./... - echo "Running 'make test' within the SDK codebase.." - cd "${outputDirectory}" - make test + cd "${DIR}" } function prepareGoSdk { From 6f3f1a52fda068fd442e4d698574bb3ed9d1fc80 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 19 Aug 2024 02:22:37 +0100 Subject: [PATCH 083/134] generator-go-sdk: populate inherited model struct fields from all parents, only set ancestor-specific fields when implementing its interface --- .../generator-go-sdk/internal/cmd/generate.go | 2 +- .../internal/generator/templater_models.go | 38 ++++++++++++++----- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/tools/generator-go-sdk/internal/cmd/generate.go b/tools/generator-go-sdk/internal/cmd/generate.go index 3fa2de78bec..c610f45a74d 100644 --- a/tools/generator-go-sdk/internal/cmd/generate.go +++ b/tools/generator-go-sdk/internal/cmd/generate.go @@ -93,7 +93,7 @@ func (g GenerateCommand) Run(args []string) int { f := flag.NewFlagSet("generator-go-sdk", flag.ExitOnError) f.StringVar(&input.apiServerEndpoint, "data-api", "http://localhost:8080", "-data-api=http://localhost:8080") f.StringVar(&input.outputDirectory, "output-dir", "", "-output-dir=../generated-sdk-dev") - f.StringVar(&serviceNames, "services", "", "A list of comma separated Service named from the Data API to import") + f.StringVar(&serviceNames, "services", "", "A list of comma separated Service named from the Data API to generate") if err := f.Parse(args); err != nil { log.Fatalf("parsing arguments: %+v", err) } diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 7ed1c799e71..66c89cdf5d5 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -112,21 +112,38 @@ func (c modelsTemplater) structCode(data GeneratorData) (*string, error) { } parentAssignmentInfo = fmt.Sprintf("var _ %[1]s = %[2]s{}", parentTypeName, structName) + parentFields := make(map[string]models.SDKField) + parent, ok := data.models[*c.model.ParentTypeName] if !ok { return nil, fmt.Errorf("couldn't find Parent Model %q for Model %q", *c.model.ParentTypeName, c.name) } + for fieldName, fieldDetails := range parent.Fields { + parentFields[fieldName] = fieldDetails + } + + // Also include fields from the grandparent model + // Related to: https://github.com/hashicorp/pandora/issues/1235 + if parentTypeName != *c.model.ParentTypeName { + grandParent, ok := data.models[parentTypeName] + if !ok { + return nil, fmt.Errorf("couldn't find [Grand]Parent Model %q for Model %q", parentTypeName, c.name) + } + for fieldName, fieldDetails := range grandParent.Fields { + parentFields[fieldName] = fieldDetails + } + } - parentFields := make([]string, 0) - for fieldName := range parent.Fields { - parentFields = append(parentFields, fieldName) + parentFieldNames := make([]string, 0, len(parentFields)) + for fieldName := range parentFields { + parentFieldNames = append(parentFieldNames, fieldName) } - sort.Strings(parentFields) + sort.Strings(parentFieldNames) - if len(parentFields) > 0 { + if len(parentFieldNames) > 0 { structLines = append(structLines, fmt.Sprintf("\n// Fields inherited from %s", *c.model.ParentTypeName)) - for _, fieldName := range parentFields { - fieldDetails := parent.Fields[fieldName] + for _, fieldName := range parentFieldNames { + fieldDetails := parentFields[fieldName] fieldTypeName := "FIXME" fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, data.commonTypesPackageName) if err != nil { @@ -393,7 +410,8 @@ func (c modelsTemplater) codeForParentStructFunctions(data GeneratorData) (*stri parentTypeName = *c.model.ParentTypeName } - parent, ok := data.models[*c.model.ParentTypeName] + // Intentionally only setting fields from the outermost parent model + parent, ok := data.models[parentTypeName] if !ok { return nil, fmt.Errorf("couldn't find Parent Model %q for Model %q", *c.model.ParentTypeName, c.name) } @@ -449,7 +467,7 @@ func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, e structName := c.name - // parent models get a {model}Parent struct + // parent models get a {model}Base struct if c.model.IsDiscriminatedParentType() { structName = fmt.Sprintf("%sBase", c.name) } @@ -623,7 +641,7 @@ func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { func (c modelsTemplater) codeForUnmarshalStructFunction(data GeneratorData) (*string, error) { structName := c.name - // parent models get a {model}Parent struct + // parent models get a {model}Base struct if c.model.IsDiscriminatedParentType() { structName = fmt.Sprintf("%sBase", c.name) } From 70799a56ed7554beb8dd40b3b3e17b6fb2ce7be2 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 19 Aug 2024 02:47:28 +0100 Subject: [PATCH 084/134] tooling: adjust workflow triggers to only run when necessary --- .../workflows/automation-msgraph-metadata-importer.yaml | 1 - .github/workflows/automation-regenerate-terraform.yaml | 3 ++- .github/workflows/automation-rest-api-specs-importer.yaml | 4 ++-- .github/workflows/automation-version-bumper.yaml | 4 ++-- .github/workflows/unit-test-data-api-differ.yaml | 2 +- .github/workflows/unit-test-data-api-v2.yaml | 2 +- .../workflows/unit-test-end-to-end-microsoft-graph.yaml | 6 ++++-- .../workflows/unit-test-end-to-end-resource-manager.yaml | 7 +++++-- .github/workflows/unit-test-generator-go-sdk.yaml | 2 +- .github/workflows/unit-test-generator-terraform.yaml | 2 +- .github/workflows/unit-test-rest-api-specs-importer.yaml | 5 +++-- 11 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.github/workflows/automation-msgraph-metadata-importer.yaml b/.github/workflows/automation-msgraph-metadata-importer.yaml index db5d7d9556c..6a7bb38e658 100644 --- a/.github/workflows/automation-msgraph-metadata-importer.yaml +++ b/.github/workflows/automation-msgraph-metadata-importer.yaml @@ -5,7 +5,6 @@ on: branches: - fake_name_to_disable_trigger paths: - - '.github/workflows/**' - 'config/microsoft-graph.hcl' - 'submodules/msgraph-metadata' - 'tools/importer-msgraph/**' diff --git a/.github/workflows/automation-regenerate-terraform.yaml b/.github/workflows/automation-regenerate-terraform.yaml index 0366cc537a7..f99bc163cc4 100644 --- a/.github/workflows/automation-regenerate-terraform.yaml +++ b/.github/workflows/automation-regenerate-terraform.yaml @@ -5,7 +5,8 @@ on: branches: - main paths: - - 'api-definitions/**' + - 'api-definitions/handwritten-resource-manager/**' + - 'api-definitions/resource-manager/**' - 'tools/generator-terraform/**' workflow_dispatch: # for manual invocations diff --git a/.github/workflows/automation-rest-api-specs-importer.yaml b/.github/workflows/automation-rest-api-specs-importer.yaml index d06974640fc..46fbae977d8 100644 --- a/.github/workflows/automation-rest-api-specs-importer.yaml +++ b/.github/workflows/automation-rest-api-specs-importer.yaml @@ -4,8 +4,8 @@ on: branches: - main paths: - - '.github/workflows/**' - - 'config/**' + - 'config/resource-manager.hcl' + - 'config/resources/**' - 'submodules/rest-api-specs' - 'tools/importer-rest-api-specs/**' workflow_dispatch: # for manual invocations diff --git a/.github/workflows/automation-version-bumper.yaml b/.github/workflows/automation-version-bumper.yaml index 51d38f00e76..345c3a869fc 100644 --- a/.github/workflows/automation-version-bumper.yaml +++ b/.github/workflows/automation-version-bumper.yaml @@ -4,8 +4,8 @@ on: branches: - main paths: - - '.github/workflows/**' - - 'config/**' + - '.github/workflows/automation-version-bumper.yaml' + - 'config/resource-manager.hcl' - 'submodules/msgraph-metadata' - 'submodules/rest-api-specs' - 'tools/version-bumper/**' diff --git a/.github/workflows/unit-test-data-api-differ.yaml b/.github/workflows/unit-test-data-api-differ.yaml index ce22c4712b7..c213168afeb 100644 --- a/.github/workflows/unit-test-data-api-differ.yaml +++ b/.github/workflows/unit-test-data-api-differ.yaml @@ -4,7 +4,7 @@ on: pull_request: types: ['opened', 'synchronize'] paths: - - '.github/workflows/**' + - '.github/workflows/unit-test-data-api-differ.yaml' - 'tools/data-api-differ/**' jobs: diff --git a/.github/workflows/unit-test-data-api-v2.yaml b/.github/workflows/unit-test-data-api-v2.yaml index a9d2a2cfe86..fcdefcbd5ef 100644 --- a/.github/workflows/unit-test-data-api-v2.yaml +++ b/.github/workflows/unit-test-data-api-v2.yaml @@ -4,7 +4,7 @@ on: pull_request: types: ['opened', 'synchronize'] paths: - - '.github/workflows/**' + - '.github/workflows/unit-test-data-api-v2.yaml' - 'api-definitions/**' - 'tools/data-api/**' diff --git a/.github/workflows/unit-test-end-to-end-microsoft-graph.yaml b/.github/workflows/unit-test-end-to-end-microsoft-graph.yaml index cb4bf62c49e..7c899430fbf 100644 --- a/.github/workflows/unit-test-end-to-end-microsoft-graph.yaml +++ b/.github/workflows/unit-test-end-to-end-microsoft-graph.yaml @@ -4,8 +4,10 @@ on: pull_request: types: ['opened', 'synchronize'] paths: - - '.github/workflows/**' - - 'config/**' + - '.github/workflows/unit-test-end-to-end-microsoft-graph.yaml' + - 'config/microsoft-graph.hcl' + - 'tools/generator-go-sdk/**' + - 'tools/importer-msgraph-metadata/**' jobs: test: diff --git a/.github/workflows/unit-test-end-to-end-resource-manager.yaml b/.github/workflows/unit-test-end-to-end-resource-manager.yaml index a3feb831fe5..472abc29922 100644 --- a/.github/workflows/unit-test-end-to-end-resource-manager.yaml +++ b/.github/workflows/unit-test-end-to-end-resource-manager.yaml @@ -4,8 +4,11 @@ on: pull_request: types: ['opened', 'synchronize'] paths: - - '.github/workflows/**' - - 'config/**' + - '.github/workflows/unit-test-end-to-end-resource-manager.yaml' + - 'config/resource-manager.hcl' + - 'config/resources/**' + - 'tools/generator-go-sdk/**' + - 'tools/importer-rest-api-specs/**' jobs: test: diff --git a/.github/workflows/unit-test-generator-go-sdk.yaml b/.github/workflows/unit-test-generator-go-sdk.yaml index 71de572ab78..3e2026bc309 100644 --- a/.github/workflows/unit-test-generator-go-sdk.yaml +++ b/.github/workflows/unit-test-generator-go-sdk.yaml @@ -4,7 +4,7 @@ on: pull_request: types: ['opened', 'synchronize'] paths: - - '.github/workflows/**' + - '.github/workflows/unit-test-generator-go-sdk.yaml' - 'tools/generator-go-sdk/**' jobs: diff --git a/.github/workflows/unit-test-generator-terraform.yaml b/.github/workflows/unit-test-generator-terraform.yaml index f503d3a5101..c2ec94d3f3b 100644 --- a/.github/workflows/unit-test-generator-terraform.yaml +++ b/.github/workflows/unit-test-generator-terraform.yaml @@ -4,7 +4,7 @@ on: pull_request: types: ['opened', 'synchronize'] paths: - - '.github/workflows/**' + - '.github/workflows/unit-test-generator-terraform.yaml' - 'tools/generator-terraform/**' jobs: diff --git a/.github/workflows/unit-test-rest-api-specs-importer.yaml b/.github/workflows/unit-test-rest-api-specs-importer.yaml index 9ef598d82e9..af7b97fa43a 100644 --- a/.github/workflows/unit-test-rest-api-specs-importer.yaml +++ b/.github/workflows/unit-test-rest-api-specs-importer.yaml @@ -4,8 +4,9 @@ on: pull_request: types: ['opened', 'synchronize'] paths: - - '.github/workflows/**' - - 'config/**' + - '.github/workflows/unit-test-rest-api-specs-importer.yaml' + - 'config/resource-manager.hcl' + - 'config/resources/**' - 'submodules/rest-api-specs' - 'tools/importer-rest-api-specs/**' From b53beb0aca812b1c3b2a50d5b4fc1da8fdfce66f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 19 Aug 2024 02:57:41 +0100 Subject: [PATCH 085/134] tooling: run `go mod tidy` prior to running unit tests after generation --- scripts/automation-generate-go-sdk.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/automation-generate-go-sdk.sh b/scripts/automation-generate-go-sdk.sh index f5e5d81b9fc..aab7b2b940c 100755 --- a/scripts/automation-generate-go-sdk.sh +++ b/scripts/automation-generate-go-sdk.sh @@ -70,6 +70,7 @@ function runGoSDKUnitTests { echo "Running unit tests within the SDK codebase.." cd "${outputDirectory}/${sdkToGenerate}" + go mod tidy go test -v ./... cd "${DIR}" From 1c71b9c21dc0d27869ec962e09592423c66cf13c Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 19 Aug 2024 16:00:20 +0100 Subject: [PATCH 086/134] importer-msgraph-metadata: support Resource IDs in data workarounds --- .../components/parser/resourceids.go | 6 ++--- .../workarounds/workaround_application.go | 2 +- .../workaround_conditionalaccesspolicy.go | 2 +- .../workarounds/workaround_directoryobject.go | 2 +- .../workarounds/workaround_iprange.go | 2 +- .../workarounds/workaround_namedlocation.go | 2 +- .../components/workarounds/workarounds.go | 7 +++--- .../internal/pipeline/importer.go | 23 ++++++++----------- ...dels.go => task_translate_common_types.go} | 0 9 files changed, 22 insertions(+), 24 deletions(-) rename tools/importer-msgraph-metadata/internal/pipeline/{task_translate_models.go => task_translate_common_types.go} (100%) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 72616083445..1da8aec926a 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -21,7 +21,7 @@ const ( ResourceIdSuffix = "Id" ) -type ResourceIds []*ResourceId +type ResourceIds map[string]*ResourceId type ResourceIdMatch struct { Id *ResourceId @@ -436,7 +436,7 @@ func NewResourceId(path string, tags []string) (id ResourceId) { } func ParseResourceIDs(paths openapi3.Paths, serviceName *string) (resourceIds ResourceIds, err error) { - resourceIds = make(ResourceIds, 0) + resourceIds = make(ResourceIds) for path, item := range paths { operations := item.Operations() operationTags := make([]string, 0) @@ -490,7 +490,7 @@ func ParseResourceIDs(paths openapi3.Paths, serviceName *string) (resourceIds Re id.Service = normalize.CleanName(*serviceName) } - resourceIds = append(resourceIds, &id) + resourceIds[resourceIdName] = &id } } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go index 51933488f50..fc7f224f577 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go @@ -23,7 +23,7 @@ func (workaroundApplication) Name() string { return "Application / missing fields in beta" } -func (workaroundApplication) Process(apiVersion string, models parser.Models, constants parser.Constants) error { +func (workaroundApplication) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { if apiVersion != versions.ApiVersionBeta { return nil } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go index 45e9d556814..1f275279f5b 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -19,7 +19,7 @@ func (workaroundConditionalAccessPolicy) Name() string { return "Conditional Access Policy / fixing missing fields and types" } -func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parser.Models, constants parser.Constants) error { +func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { model, ok := models["ConditionalAccessPolicy"] if !ok { return fmt.Errorf("`ConditionalAccessPolicy` model not found") diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go index 7537117688b..89e4de2b7f8 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go @@ -20,7 +20,7 @@ func (workaroundDirectoryObject) Name() string { return "Directory Object / discrimination" } -func (workaroundDirectoryObject) Process(apiVersion string, models parser.Models, constants parser.Constants) error { +func (workaroundDirectoryObject) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { model, ok := models["DirectoryObject"] if !ok { return fmt.Errorf("`DirectoryObject` model not found") diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go index 73bd11dd025..fca8b6c2d43 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go @@ -19,7 +19,7 @@ func (workaroundIPRange) Name() string { return "IPRange / discrimination" } -func (workaroundIPRange) Process(apiVersion string, models parser.Models, constants parser.Constants) error { +func (workaroundIPRange) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { // microsoft.graph.ipRange model is empty and is omitted by the OpenAPI parser models["IPRange"] = &parser.Model{ Fields: map[string]*parser.ModelField{ diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go index 540101b3941..c9348a669e3 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go @@ -19,7 +19,7 @@ func (workaroundNamedLocation) Name() string { return "NamedLocation / discrimination" } -func (workaroundNamedLocation) Process(apiVersion string, models parser.Models, constants parser.Constants) error { +func (workaroundNamedLocation) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { model, ok := models["NamedLocation"] if !ok { return fmt.Errorf("`NamedLocation` model not found") diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index f78f8c627a1..05c7772c34f 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -23,14 +23,15 @@ type workaround interface { Name() string // Process takes the apiDefinition and applies the Workaround to this AzureApiDefinition - Process(string, parser.Models, parser.Constants) error + Process(string, parser.Models, parser.Constants, parser.ResourceIds) error } -func ApplyWorkarounds(apiVersion string, models parser.Models, constants parser.Constants) error { +// ApplyWorkarounds invokes the specified workarounds for models, constants and resource +func ApplyWorkarounds(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { logging.Tracef("Processing Data Workarounds..") for _, fix := range workarounds { logging.Tracef("Applying Data Workaround %q to Model %q", fix.Name()) - if err := fix.Process(apiVersion, models, constants); err != nil { + if err := fix.Process(apiVersion, models, constants, resourceIds); err != nil { return fmt.Errorf("applying Data Workaround %q: %v", fix.Name(), err) } } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/importer.go b/tools/importer-msgraph-metadata/internal/pipeline/importer.go index 14dcf54e6cc..e1180d7bc79 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/importer.go @@ -63,19 +63,19 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha return err } - logging.Infof("Applying workarounds for invalid model definitions..") - if err = workarounds.ApplyWorkarounds(p.apiVersion, p.models, p.constants); err != nil { + logging.Infof("Parsing resource IDs...") + p.resourceIds, err = parser.ParseResourceIDs(p.spec.Paths, nil) + if err != nil { return err } - logging.Infof("Cleaning up models...") - if err = p.cleanupModels(); err != nil { + logging.Infof("Applying workarounds for invalid type definitions..") + if err = workarounds.ApplyWorkarounds(p.apiVersion, p.models, p.constants, p.resourceIds); err != nil { return err } - logging.Infof("Parsing resource IDs...") - p.resourceIds, err = parser.ParseResourceIDs(p.spec.Paths, nil) - if err != nil { + logging.Infof("Cleaning up models...") + if err = p.cleanupModels(); err != nil { return err } @@ -126,20 +126,17 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } // Determine which resource IDs were actually used in resources - usedResourceIds := make(map[string]parser.ResourceId) + usedResourceIds := make(parser.ResourceIds) for _, resources := range p.resources { for _, resource := range resources { for _, operation := range resource.Operations { if operation.ResourceId != nil { - usedResourceIds[operation.ResourceId.Name] = *operation.ResourceId + usedResourceIds[operation.ResourceId.Name] = operation.ResourceId } } } } - p.resourceIds = make(parser.ResourceIds, 0, len(usedResourceIds)) - for _, resourceId := range usedResourceIds { - p.resourceIds = append(p.resourceIds, &resourceId) - } + p.resourceIds = usedResourceIds commonTypesForApiVersion, err := p.translateCommonTypesToDataApiSdkTypes() if err != nil { diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_models.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_common_types.go similarity index 100% rename from tools/importer-msgraph-metadata/internal/pipeline/task_translate_models.go rename to tools/importer-msgraph-metadata/internal/pipeline/task_translate_common_types.go From 32c9c9982442c228f4261d49a91040ccf5b218c5 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 19 Aug 2024 16:00:39 +0100 Subject: [PATCH 087/134] importer-msgraph-metadata: add workaround for invalid resource IDs now that these are common types --- ...rkaround_repeating_resource_id_segments.go | 73 +++++++++++++++++++ .../components/workarounds/workarounds.go | 1 + 2 files changed, 74 insertions(+) create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go new file mode 100644 index 00000000000..c3d2aba5c8d --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go @@ -0,0 +1,73 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "strings" + + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +var _ workaround = workaroundRepeatingResourceIdSegments{} + +// workaroundRepeatingResourceIdSegments removes incompatible resource IDs due to repeating segments which are not supported at this time. +type workaroundRepeatingResourceIdSegments struct{} + +func (workaroundRepeatingResourceIdSegments) Name() string { + return "Resource IDs with repeating segments / remove incompatible resource IDs" +} + +func (workaroundRepeatingResourceIdSegments) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { + for resourceIdName := range resourceIds { + var invalid bool + + // Repeating segments, which are not supported + if strings.Contains(resourceIdName, "SiteIdSiteId") { + invalid = true + } + + // GroupSiteTermStore resources have repeating ID segments which are not supported at this time + if strings.Contains(resourceIdName, "TermStore") { + invalid = true + } + + // Onenote resources have repeating ID segments which are not supported at this time + if strings.Contains(resourceIdName, "Onenote") { + invalid = true + } + + // These contain IDs with repeating segments, which are not supported at this time + prefixes := []string{ + "IdentityGovernanceEntitlementManagementAccessPackageIdResourceRoleScopeIdRoleResourceScopeIdResourceRoleId", + "IdentityGovernanceEntitlementManagementAccessPackageIdResourceRoleScopeIdScopeResourceRoleIdResourceScopeId", + "IdentityGovernanceEntitlementManagementCatalogIdResourceRoleIdResourceScopeIdResourceRoleId", + "IdentityGovernanceEntitlementManagementCatalogIdResourceScopeIdResourceRoleIdResourceScopeId", + "IdentityGovernanceEntitlementManagementResourceRequestIdCatalogResourceRoleIdResourceScopeIdResourceRoleId", + "IdentityGovernanceEntitlementManagementResourceRequestIdCatalogResourceScopeIdResourceRoleIdResourceScopeId", + "IdentityGovernanceEntitlementManagementResourceRequestIdResourceRoleIdResourceScopeId", + "IdentityGovernanceEntitlementManagementResourceRequestIdResourceScopeIdResourceRoleId", + "IdentityGovernanceEntitlementManagementResourceRoleScopeIdRoleResourceScopeIdResourceRoleId", + "IdentityGovernanceEntitlementManagementResourceRoleScopeIdScopeResourceRoleIdResourceScopeId", + "MePendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionId", + "MePendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionIdInsightId", + "MePendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionId", + "MePendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionIdInsightId", + "UserIdPendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionId", + "UserIdPendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionIdInsightId", + "UserIdPendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionId", + "UserIdPendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionIdInsightId", + } + for _, prefix := range prefixes { + if strings.HasPrefix(resourceIdName, prefix) { + invalid = true + } + } + + if invalid { + delete(resourceIds, resourceIdName) + } + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index 05c7772c34f..e44c3345aac 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -16,6 +16,7 @@ var workarounds = []workaround{ workaroundDirectoryObject{}, workaroundNamedLocation{}, workaroundIPRange{}, + workaroundRepeatingResourceIdSegments{}, } type workaround interface { From a623c48d05e644f91e7a64d311103dd056fba34d Mon Sep 17 00:00:00 2001 From: "Elena Xin (Centific Technologies Inc)" Date: Wed, 21 Aug 2024 16:43:57 +0800 Subject: [PATCH 088/134] add new service fabric --- config/resource-manager.hcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index 759588959ca..d74ff6694b7 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -233,6 +233,10 @@ service "extendedlocation" { name = "ExtendedLocation" available = ["2021-08-15"] } +service "fabric" { + name = "fabric" + available = ["2023-11-01"] +} service "fluidrelay" { name = "FluidRelay" available = ["2022-05-26", "2022-06-01"] From aafa0a64761546f35cbbdb33c93f3e3c5cc291a6 Mon Sep 17 00:00:00 2001 From: "Elena Xin (Centific Technologies Inc)" Date: Wed, 21 Aug 2024 16:47:31 +0800 Subject: [PATCH 089/134] update name --- config/resource-manager.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index d74ff6694b7..1cd428659b2 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -234,7 +234,7 @@ service "extendedlocation" { available = ["2021-08-15"] } service "fabric" { - name = "fabric" + name = "Fabric" available = ["2023-11-01"] } service "fluidrelay" { From 9305cdc95ae9c19fdb4c8ea90685bcb8b25e3796 Mon Sep 17 00:00:00 2001 From: "Elena Xin (Centific Technologies Inc)" Date: Wed, 21 Aug 2024 17:23:38 +0800 Subject: [PATCH 090/134] add mongocluster@2024-07-01 --- config/resource-manager.hcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index 759588959ca..52deeee982b 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -354,6 +354,10 @@ service "mobilenetwork" { name = "MobileNetwork" available = ["2022-11-01", "2023-06-01", "2023-09-01", "2024-02-01", "2024-04-01"] } +service "mongocluster" { + name = "MongoCluster" + available = ["2024-07-01"] +} service "monitor" { name = "Insights" available = ["2015-04-01", "2016-03-01", "2018-03-01", "2018-04-16", "2019-10-17-preview", "2020-10-01", "2021-05-01-preview", "2021-07-01-preview", "2021-08-01", "2021-09-01", "2022-06-01", "2022-10-01", "2023-01-01", "2023-03-15-preview", "2023-04-03", "2023-10-01", "2024-02-01"] From 127b0cba285dd000d18da752ae699d0fc5624e2d Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 22 Aug 2024 04:21:34 +0100 Subject: [PATCH 091/134] generator-go-sdk: linting for method comments --- .../internal/generator/templater_methods.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index a55c14c7086..0972c76a5ec 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -165,7 +165,7 @@ func (c methodsPandoraTemplater) immediateOperationTemplate(data GeneratorData) comment := c.operationName if c.operation.Description != "" { - comment += fmt.Sprintf(": %s", c.operation.Description) + comment += fmt.Sprintf(" - %s", c.operation.Description) } else { comment += " ..." } @@ -236,7 +236,7 @@ func (c methodsPandoraTemplater) longRunningOperationTemplate(data GeneratorData comment := c.operationName if c.operation.Description != "" { - comment += fmt.Sprintf(": %s", c.operation.Description) + comment += fmt.Sprintf(" - %s", c.operation.Description) } else { comment += " ..." } @@ -331,7 +331,7 @@ func (c methodsPandoraTemplater) listOperationTemplate(data GeneratorData) (*str comment := c.operationName if c.operation.Description != "" { - comment += fmt.Sprintf(": %s", c.operation.Description) + comment += fmt.Sprintf(" - %s", c.operation.Description) } else { comment += " ..." } From 0b2f7cd8e528f2975a52913915e80100ec768688 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 22 Aug 2024 04:23:01 +0100 Subject: [PATCH 092/134] importer-msgraph-metadata: refactor model parser, various improvements - Rewrite the model parsing functions to be more selective and opinionated - Don't flatten the schema as it loses all nuance - Drop the crutch of recursion to traverse the model tree - Fully support model inheritence with SDK compatibility in mind - Process constants as a first class construct - Use the model names from the API as much as possible - Support constant and model references in operations - Automatically infer all discriminated models - Automatically redact improper URLs that are not supported as resource IDs - Various bug fixes with type translation, particularly with arrays - Handle different content types in responses --- .../components/normalize/normalize.go | 6 +- .../components/parser/resources.go | 41 +- .../components/parser/types.go | 783 ++++++------------ .../workarounds/workaround_application.go | 12 +- .../workaround_conditionalaccesspolicy.go | 90 +- .../workarounds/workaround_directoryobject.go | 115 --- .../workarounds/workaround_iprange.go | 97 --- .../workarounds/workaround_namedlocation.go | 69 -- .../workarounds/workaround_odata_bind.go | 61 ++ ...rkaround_repeating_resource_id_segments.go | 48 +- .../components/workarounds/workarounds.go | 11 +- .../internal/pipeline/importer.go | 7 +- .../internal/pipeline/task_cleanup_models.go | 31 - .../internal/pipeline/task_parse_resources.go | 314 ++++--- .../pipeline/task_translate_common_types.go | 14 +- .../pipeline/task_translate_service.go | 105 +-- 16 files changed, 680 insertions(+), 1124 deletions(-) delete mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go delete mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go delete mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go delete mode 100644 tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize.go b/tools/importer-msgraph-metadata/components/normalize/normalize.go index 38936e74094..b9f069115ff 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize.go +++ b/tools/importer-msgraph-metadata/components/normalize/normalize.go @@ -40,11 +40,15 @@ func Pluralize(name string) string { } func CleanName(name string) string { + if name == "" { + return name + } + // Trim a "microsoft.graph" prefix from type names name = strings.TrimPrefix(name, "microsoft.graph") // Replace all periods with spaces to allow for title casing - name = strings.ReplaceAll(name, ".", " ") + name = strings.TrimSpace(strings.ReplaceAll(name, ".", " ")) // Convert name to title case name = cases.Title(language.AmericanEnglish, cases.NoLower).String(name) diff --git a/tools/importer-msgraph-metadata/components/parser/resources.go b/tools/importer-msgraph-metadata/components/parser/resources.go index 11dc30a6138..1cfe9da5863 100644 --- a/tools/importer-msgraph-metadata/components/parser/resources.go +++ b/tools/importer-msgraph-metadata/components/parser/resources.go @@ -20,19 +20,20 @@ type Resource struct { } type Operation struct { - Name string - Description string - Type OperationType - Method string - ResourceId *ResourceId - UriSuffix *string - RequestModel *string - RequestHeaders *Headers - RequestParams *Params - RequestType *DataType - Responses Responses - PaginationField *string - Tags []string + Name string + Description string + Type OperationType + Method string + ResourceId *ResourceId + UriSuffix *string + RequestContentType *string + RequestModel *string + RequestHeaders *Headers + RequestParams *Params + RequestType *DataType + Responses Responses + PaginationField *string + Tags []string } type Header struct { @@ -91,18 +92,20 @@ func (p Param) DataApiSdkObjectDefinition() (*sdkModels.SDKOperationOptionObject type Params []Param type Response struct { - Status int - ContentType *string - ModelName *string - Type *DataType + Status int + ContentType *string + ReferenceName *string + Type *DataType + Model *Model + Constant *Constant } type Responses []Response func (rs Responses) FindModelName() *string { for _, r := range rs { - if r.ModelName != nil { - return r.ModelName + if r.ReferenceName != nil { + return r.ReferenceName } } return nil diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 05cf5c6e30e..023d2d58f9a 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -21,7 +21,7 @@ import ( SchemaRef is a struct{Ref, Value} where Ref is a string, Value is a *Schema The Ref string (after trimming) indicates a Schemas map key to follow/inherit Schema has Properties which is a nested Schemas - Schema has AllOf and/or AnyOf which are SchemaRefs + Schema has AllOf, AnyOf or OneOf which are SchemaRefs SchemaRefs is a []*SchemaRef Schemas is a model SchemaRefs, SchemaRef lead to a Schema or other another SchemaRef @@ -30,98 +30,78 @@ import ( const RefPrefix = "#/components/schemas/" +func TrimRefPrefix(ref string) string { + if strings.HasPrefix(ref, RefPrefix) { + return ref[len(RefPrefix):] + } + return ref +} + type Constants map[string]*Constant type Models map[string]*Model -// Found returns true when the provided modelName was found in the Models map -func (m Models) Found(modelName string) bool { - // Safety check, don't allow an empty model name - if modelName == "" { +// Found returns true when the provided schemaName was found in the Constants map +func (c Constants) Found(schemaName string) bool { + // Safety check, don't allow an empty constant name + if schemaName == "" { return false } - if model, ok := m[modelName]; ok && model != nil { + if constant, ok := c[schemaName]; ok && constant != nil { return true } return false } -// MergeDependants inspects the named model in m, then traverses allModels and appends any dependant models to m, recursively -func (m Models) MergeDependants(allModels Models, modelName string, includeCommon bool) error { - if !allModels.Found(modelName) { - return fmt.Errorf("model not found: %q", modelName) - } - - if _, ok := m[modelName]; !ok { - if !includeCommon && allModels[modelName].Common { - return nil - } - m[modelName] = allModels[modelName] +// Found returns true when the provided schemaName was found in the Models map +func (m Models) Found(schemaName string) bool { + // Safety check, don't allow an empty model name + if schemaName == "" { + return false } - for _, field := range allModels[modelName].Fields { - if field.ModelName == nil { - continue - } - - if _, ok := m[*field.ModelName]; ok { - continue - } - - if !allModels.Found(*field.ModelName) { - return fmt.Errorf("dependant model not found: %q", modelName) - } - - if err := m.MergeDependants(allModels, *field.ModelName, includeCommon); err != nil { - return err - } + if model, ok := m[schemaName]; ok && model != nil { + return true } - return nil -} - -func (m Models) Merge(m2 Models) { - if m2 == nil { - return - } - for modelName, model := range m2 { - m[modelName] = model - } + return false } type Constant struct { - Enum []string - Type *DataType + Name string + Common bool + Enum []string + Type *DataType } type Model struct { - Fields map[string]*ModelField - Common bool - Prefix string - TypeField *string - TypeValue *string - ParentModelName *string + Name string + Fields map[string]*ModelField + Common bool + TypeField *string + TypeValue *string + ParentModel *string } -func (m *Model) IsValid() bool { - // Several constants are presented as models, these have no fields and are of no use - if m == nil || len(m.Fields) == 0 { - return false +func (m *Model) AppendDefaultFields() { + for jsonName, fieldDetails := range defaultModelFields() { + if _, ok := m.Fields[jsonName]; !ok { + m.Fields[jsonName] = fieldDetails + } } - return true } -func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { +func (m *Model) DataApiSdkModel(models Models, constants Constants) (*sdkModels.SDKModel, error) { sdkFields := make(map[string]sdkModels.SDKField) - for fieldName, field := range m.Fields { - objectDefinition, err := field.DataApiSdkObjectDefinition(models) + for jsonName, field := range m.Fields { + objectDefinition, err := field.DataApiSdkObjectDefinition(models, constants) if err != nil { return nil, err } if objectDefinition == nil { - logging.Warnf("Could not determine SDKObjectDefinition for field %q, skipping", fieldName) + logging.Warnf("Could not determine SDKObjectDefinition for field %q, skipping", jsonName) continue } @@ -132,12 +112,13 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { required = true } - sdkFields[fieldName] = sdkModels.SDKField{ + sdkFields[field.Name] = sdkModels.SDKField{ + DateFormat: nil, + Description: field.Description, + JsonName: jsonName, + ObjectDefinition: *objectDefinition, + ContainsDiscriminatedValue: field.DiscriminatedValue, - DateFormat: nil, - Description: field.Description, - JsonName: field.JsonField, - ObjectDefinition: *objectDefinition, Optional: optional, ReadOnly: field.ReadOnly, @@ -150,16 +131,42 @@ func (m *Model) DataApiSdkModel(models Models) (*sdkModels.SDKModel, error) { return nil, nil } + var parentTypeName *string + if m.ParentModel != nil { + parentTypeName = pointer.To(normalize.CleanName(*m.ParentModel)) + } + return &sdkModels.SDKModel{ + Fields: sdkFields, + DiscriminatedValue: m.TypeValue, FieldNameContainingDiscriminatedValue: m.TypeField, - Fields: sdkFields, - ParentTypeName: m.ParentModelName, + ParentTypeName: parentTypeName, }, nil } +func defaultModelFields() map[string]*ModelField { + // Add an explicit ODataId and ODataType field to each model, since it is inconsistently defined in the API specs. + // This won't be valid for every model, but it's impossible to tell which models support them, and it's effectively + // harmless to leave these in so long as they have the `omitempty` struct tag in the generated SDK. + return map[string]*ModelField{ + "@odata.id": { + Name: "ODataId", + Description: "The OData ID of this entity", + Type: pointer.To(DataTypeString), + Default: "", + }, + "@odata.type": { + Name: "ODataType", + Description: "The OData Type of this entity", + Type: pointer.To(DataTypeString), + Default: "", + }, + } +} + type ModelField struct { - Title string + Name string Type *DataType Description string Default interface{} @@ -170,69 +177,69 @@ type ModelField struct { AllowEmptyValue bool DiscriminatedValue bool ItemType *DataType - ConstantName *string - ModelName *string - JsonField string + ReferenceName *string } -func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObjectDefinition, error) { +func (f ModelField) DataApiSdkObjectDefinition(models Models, constants Constants) (*sdkModels.SDKObjectDefinition, error) { if f.Type == nil { - return nil, fmt.Errorf("field %q has no Type", f.Title) + return nil, fmt.Errorf("field %q has no Type", f.Name) } switch *f.Type { - case DataTypeModel: - if f.ModelName == nil { - return nil, fmt.Errorf("field type Model encountered without model name") + case DataTypeReference: + if f.ReferenceName == nil { + return nil, fmt.Errorf("field type Reference encountered without ReferenceName") } - if !models.Found(*f.ModelName) { - return nil, fmt.Errorf("field type Model encountered with unknown referenced model") + if models.Found(*f.ReferenceName) { + return &sdkModels.SDKObjectDefinition{ + Nullable: f.Nullable, + ReferenceName: pointer.To(normalize.CleanName(*f.ReferenceName)), + ReferenceNameIsCommonType: pointer.To(models[*f.ReferenceName].Common), + Type: sdkModels.ReferenceSDKObjectDefinitionType, + }, nil } - if !models[*f.ModelName].IsValid() { - logging.Warnf("Skipping field %q with type Model as the referenced model %q is invalid", f.Title, *f.ModelName) + if constants.Found(*f.ReferenceName) { + return &sdkModels.SDKObjectDefinition{ + Nullable: f.Nullable, + ReferenceName: pointer.To(normalize.CleanName(*f.ReferenceName)), + ReferenceNameIsCommonType: pointer.To(constants[*f.ReferenceName].Common), + Type: sdkModels.ReferenceSDKObjectDefinitionType, + }, nil } - return &sdkModels.SDKObjectDefinition{ - Nullable: f.Nullable, - ReferenceName: f.ModelName, - ReferenceNameIsCommonType: pointer.To(models[*f.ModelName].Common), - Type: sdkModels.ReferenceSDKObjectDefinitionType, - }, nil + return nil, fmt.Errorf("field type Reference encountered with unknown referenced model/constant") case DataTypeArray: - if f.ModelName != nil { - if !models.Found(*f.ModelName) { - return nil, fmt.Errorf("field type Array[Model] encountered with unknown referenced model") + if f.ReferenceName != nil { + if models.Found(*f.ReferenceName) { + return &sdkModels.SDKObjectDefinition{ + NestedItem: &sdkModels.SDKObjectDefinition{ + ReferenceName: pointer.To(normalize.CleanName(*f.ReferenceName)), + ReferenceNameIsCommonType: pointer.To(models[*f.ReferenceName].Common), + Type: sdkModels.ReferenceSDKObjectDefinitionType, + }, + Nullable: f.Nullable, + ReferenceName: nil, + Type: sdkModels.ListSDKObjectDefinitionType, + }, nil } - if !models[*f.ModelName].IsValid() { - logging.Warnf("Skipping field %q with type Array[Model] as the referenced model %q is invalid", f.Title, *f.ModelName) + if constants.Found(*f.ReferenceName) { + return &sdkModels.SDKObjectDefinition{ + NestedItem: &sdkModels.SDKObjectDefinition{ + ReferenceName: pointer.To(normalize.CleanName(*f.ReferenceName)), + ReferenceNameIsCommonType: pointer.To(constants[*f.ReferenceName].Common), + Type: sdkModels.ReferenceSDKObjectDefinitionType, + }, + Nullable: f.Nullable, + ReferenceName: nil, + Type: sdkModels.ListSDKObjectDefinitionType, + }, nil } - return &sdkModels.SDKObjectDefinition{ - NestedItem: &sdkModels.SDKObjectDefinition{ - ReferenceName: f.ModelName, - ReferenceNameIsCommonType: pointer.To(models[*f.ModelName].Common), - Type: sdkModels.ReferenceSDKObjectDefinitionType, - }, - Nullable: f.Nullable, - ReferenceName: nil, - Type: sdkModels.ListSDKObjectDefinitionType, - }, nil - } - - if f.ConstantName != nil { - // TODO validate constant exists - return &sdkModels.SDKObjectDefinition{ - NestedItem: &sdkModels.SDKObjectDefinition{ - ReferenceName: f.ConstantName, - Type: sdkModels.ReferenceSDKObjectDefinitionType, - }, - Nullable: f.Nullable, - Type: sdkModels.ListSDKObjectDefinitionType, - }, nil + return nil, fmt.Errorf("field type Array[Reference] encountered with unknown referenced model/constant") } if f.ItemType != nil { @@ -255,12 +262,8 @@ func (f ModelField) DataApiSdkObjectDefinition(models Models) (*sdkModels.SDKObj }, nil } - if f.ConstantName != nil { - return &sdkModels.SDKObjectDefinition{ - Nullable: f.Nullable, - ReferenceName: f.ConstantName, - Type: sdkModels.ReferenceSDKObjectDefinitionType, - }, nil + if f.ReferenceName != nil { + return nil, fmt.Errorf("field that is not a Reference or Array[Reference] encountered with ReferenceName") } return &sdkModels.SDKObjectDefinition{ @@ -291,7 +294,7 @@ const ( DataTypeIntegerUnsigned32 DataTypeIntegerUnsigned64 DataTypeIntegerUnsigned8 - DataTypeModel + DataTypeReference DataTypeString DataTypeTime DataTypeUuid @@ -344,9 +347,14 @@ func (ft DataType) DataApiSdkOperationOptionObjectDefinitionType() sdkModels.SDK } // FieldType parses the schemaType and schemaFormat from the OpenAPI spec for a given field, and returns the appropriate DataType -func FieldType(schemaType, schemaFormat string, hasModel bool) *DataType { +func FieldType(schemaType, schemaFormat string, hasReference bool) *DataType { var ret DataType + if hasReference { + ret = DataTypeReference + return &ret + } + switch strings.ToLower(schemaFormat) { case "int64": ret = DataTypeInteger64 @@ -403,461 +411,212 @@ func FieldType(schemaType, schemaFormat string, hasModel bool) *DataType { return &ret } - if hasModel { - ret = DataTypeModel - return &ret - } - return nil } -func Common(schemas openapi3.Schemas) (models Models, constants Constants, err error) { - models = make(Models) - constants = make(Constants) - for modelName, schemaRef := range schemas { - name := normalize.CleanName(modelName) - if schemaRef.Value != nil { - var f *flattenedSchema - if f, _ = FlattenSchemaRef(schemaRef, nil); f != nil { - models, constants = Schemas(*f, name, models, constants, true) - } - } - } +func ModelsAndConstants(schemas openapi3.Schemas) (Models, Constants, error) { + models := make(Models) + constants := make(Constants) - return -} - -type flattenedSchema struct { - Schemas openapi3.Schemas - Prefix string - Title string - Type string - Format string - Enum []interface{} -} - -// FlattenSchemaRef attempts to recursively parse and flatten the provided *openapi3.Schema and returns a flattenedSchema -// which is much more convenient to inspect for types. The returned map[string]bool is used when recursing to track -// Refs which have been observed in order to avoid infinite recursion, and is usually not interesting to the caller. -func FlattenSchemaRef(schemaRef *openapi3.SchemaRef, seenRefs map[string]bool) (*flattenedSchema, map[string]bool) { - if seenRefs == nil { - seenRefs = make(map[string]bool) - } - - if schemaRef.Value == nil { - return nil, seenRefs - } - - prefix := "" - title := "" - titleFromRef := false - if strings.HasPrefix(schemaRef.Ref, RefPrefix) { - ref := schemaRef.Ref[len(RefPrefix):] - if i := strings.LastIndex(ref, "."); i > 0 { - prefix = normalize.CleanName(ref[0:i]) + for schemaName, schemaRef := range schemas { + if models.Found(schemaName) { + return nil, nil, fmt.Errorf("model %q already encountered", schemaName) } - title = normalize.CleanName(ref) - titleFromRef = true - } - schema := schemaRef.Value - schemas := make(openapi3.Schemas, 0) - typ := "" - format := "" - enum := make([]interface{}, 0) - - if r := schema.Items; r != nil { - if r.Ref != "" { - for s := range seenRefs { - if s == r.Ref { - continue - } - } - seenRefs[r.Ref] = true - if title == "" && strings.HasPrefix(r.Ref, RefPrefix) { - ref := r.Ref[len(RefPrefix):] - if i := strings.LastIndex(ref, "."); i > 0 { - prefix = normalize.CleanName(ref[0:i]) - } - title = normalize.CleanName(ref) - } + if constants.Found(schemaName) { + return nil, nil, fmt.Errorf("constant %q already encountered", schemaName) } - if r.Value != nil { - var result *flattenedSchema - result, seenRefs = FlattenSchemaRef(r, seenRefs) - if title == "" && result.Title != "" { - title = normalize.CleanName(result.Title) - } - if result.Type != "" { - typ = result.Type - } - if result.Format != "" { - format = result.Format - } - if len(result.Enum) > 0 { - enum = result.Enum - } - for k, v := range result.Schemas { - schemas[k] = v - } - } - } else { - if schema.AllOf != nil { - for _, r := range schema.AllOf { - if r.Ref != "" { - for s := range seenRefs { - if s == r.Ref { - continue - } - } - seenRefs[r.Ref] = true - if !titleFromRef && strings.HasPrefix(r.Ref, RefPrefix) { - ref := r.Ref[len(RefPrefix):] - if i := strings.LastIndex(ref, "."); i > 0 { - prefix = normalize.CleanName(ref[0:i]) - } - title = normalize.CleanName(ref) - titleFromRef = true - } - } - - if r.Value != nil { - var result *flattenedSchema - result, seenRefs = FlattenSchemaRef(r, seenRefs) - if !titleFromRef && result.Title != "" { - title = normalize.CleanName(result.Title) - } - if typ == "" && result.Type != "" { - typ = result.Type - } - if format == "" && result.Format != "" { - format = result.Format - } - if len(result.Enum) > 0 { - enum = result.Enum - } - for k, v := range result.Schemas { - schemas[k] = v - } - } - } + model, constant, err := ModelOrConstant(schemaName, schemaRef, true) + if err != nil { + return nil, nil, err } - if schema.AnyOf != nil { - for _, r := range schema.AnyOf { - if r.Ref != "" { - for s := range seenRefs { - if s == r.Ref { - continue - } - } - seenRefs[r.Ref] = true - if !titleFromRef && strings.HasPrefix(r.Ref, RefPrefix) { - ref := r.Ref[len(RefPrefix):] - if i := strings.LastIndex(ref, "."); i > 0 { - prefix = normalize.CleanName(ref[0:i]) - } - title = normalize.CleanName(ref) - titleFromRef = true - } - } - - if r.Value != nil { - var result *flattenedSchema - result, seenRefs = FlattenSchemaRef(r, seenRefs) - if !titleFromRef && result.Title != "" { - title = normalize.CleanName(result.Title) - } - if typ == "" && result.Type != "" { - typ = result.Type - } - if format == "" && result.Format != "" { - format = result.Format - } - if len(result.Enum) > 0 { - enum = result.Enum - } - for k, v := range result.Schemas { - schemas[k] = v - } - } - } + if model != nil { + models[schemaName] = model + models[schemaName].AppendDefaultFields() } - if schema.OneOf != nil { - for _, r := range schema.OneOf { - if r.Ref != "" { - for s := range seenRefs { - if s == r.Ref { - continue - } - } - seenRefs[r.Ref] = true - if !titleFromRef && strings.HasPrefix(r.Ref, RefPrefix) { - ref := r.Ref[len(RefPrefix):] - if i := strings.LastIndex(ref, "."); i > 0 { - prefix = normalize.CleanName(ref[0:i]) - } - title = normalize.CleanName(ref) - titleFromRef = true - } - } - - if r.Value != nil { - var result *flattenedSchema - result, seenRefs = FlattenSchemaRef(r, seenRefs) - if !titleFromRef && result.Title != "" { - title = normalize.CleanName(result.Title) - } - if typ == "" && result.Type != "" { - typ = result.Type - } - if format == "" && result.Format != "" { - format = result.Format - } - if len(result.Enum) > 0 { - enum = result.Enum - } - for k, v := range result.Schemas { - schemas[k] = v - } - } - } + if constant != nil { + constants[schemaName] = constant } } - // TODO: may need to prefer innermost title - if schema.Title != "" { - title = normalize.CleanName(schema.Title) - } - - // prefer the innermost type - if typ == "" && schema.Type != "" { - typ = schema.Type - } - - // prefer the innermost format - if format == "" && schema.Format != "" { - format = schema.Format - } - - if len(schema.Enum) > 0 { - enum = schema.Enum - } + // Now iterate models and populate discriminated children + for schemaName, model := range models { + if model.ParentModel == nil { + continue + } - if schema.Properties != nil { - for k, v := range schema.Properties { - schemas[k] = v + parentModel, ok := models[*model.ParentModel] + if !ok { + return nil, nil, fmt.Errorf("parent model %q was not found for model %q", *model.ParentModel, schemaName) } - } - if len(schemas) == 0 { - schemas = nil + parentModel.Fields["@odata.type"].DiscriminatedValue = true + parentModel.TypeField = pointer.To("ODataType") + model.TypeField = pointer.To("ODataType") + model.TypeValue = pointer.To("#" + schemaName) } - return &flattenedSchema{ - Schemas: schemas, - Prefix: prefix, - Title: title, - Type: typ, - Format: format, - Enum: enum, - }, seenRefs + return models, constants, nil } -// Schemas inspects the provided flattenedSchema to parse out the fields for the provided modelName, optionally -// marking it as a common model. The provided Models (map[string]Model) is mutated to append the new model and its fields. -// Fields having the type of another model are parsed recursively to extract all known models that may not be directly -// referenced in the root schema. -func Schemas(input flattenedSchema, name string, models Models, constants Constants, common bool) (Models, Constants) { - if _, ok := models[name]; ok { - return models, constants +func ModelOrConstant(schemaName string, schemaRef *openapi3.SchemaRef, common bool) (*Model, *Constant, error) { + schema := schemaRef.Value + if schema == nil { + logging.Tracef("OpenAPI model %q has no schema, skipping", schemaName) + return nil, nil, nil } - // Check if this is a constant - if input.Schemas == nil && len(input.Enum) > 0 { + // First check if this is a constant + if schema.Enum != nil { constant := Constant{ - Enum: parseEnum(input.Enum), - Type: FieldType(input.Type, input.Format, false), + Name: normalize.CleanName(schemaName), + Common: common, + Enum: parseEnum(schema.Enum), + Type: FieldType(schema.Type, schema.Format, false), } - constants[name] = &constant - return models, constants - } - - // If there are no schemas, this is not a valid model and is likely a custom type which we don't currently use, e.g. ODataCountResponse - if input.Schemas == nil { - return models, constants + return nil, &constant, nil } - // Add an explicit ODataId and ODataType field to each model, since it is inconsistently defined in the API specs. - // This won't be valid for every model, but it's impossible to tell which models support them, and it's effectively - // harmless to leave these in so long as they have the `omitempty` struct tag in the generated SDK. + // Proceed to build a model model := Model{ - Fields: map[string]*ModelField{ - "ODataId": { - Title: "ODataId", - Description: "The OData ID of this entity", - Type: pointer.To(DataTypeString), - Default: "", - JsonField: "@odata.id", - }, - "ODataType": { - Title: "ODataType", - Description: "The OData Type of this entity", - Type: pointer.To(DataTypeString), - Default: "", - JsonField: "@odata.type", - }, - }, + Name: normalize.CleanName(schemaName), + Fields: make(map[string]*ModelField), Common: common, - Prefix: input.Prefix, } - // Add to models map before descending, to prevent recursion - models[name] = &model - - for jsonField, schemaRef := range input.Schemas { - // maintainer note: this is a good place to add a breakpoint for inspecting model fields and constants as they are processed - // example breakpoint condition: name=="AdministrativeUnit" - schema := schemaRef.Value - if schema == nil { - continue - } - - field := ModelField{ - Title: normalize.CleanName(jsonField), - Description: schema.Description, - Default: schema.Default, - ReadOnly: schemaRef.Value.ReadOnly, - WriteOnly: schemaRef.Value.WriteOnly, - Nullable: schemaRef.Value.Nullable, - AllowEmptyValue: schemaRef.Value.AllowEmptyValue, - JsonField: jsonField, - } + if schema.Properties != nil { + // Simple model with no base type + for jsonField, fieldDetails := range schema.Properties { + field, err := modelFieldFromSchemaRef(jsonField, fieldDetails) + if err != nil { + return nil, nil, fmt.Errorf("building field %q for model %q: %v", jsonField, schemaName, err) + } - // Detect nullable, read-only and requried fields from the description - if (strings.HasPrefix(schema.Description, "Nullable.") || strings.Contains(schema.Description, " Nullable.")) && !strings.Contains(strings.ToLower(schema.Description), "not nullable.") { - field.Nullable = true - } - if strings.HasPrefix(schema.Description, "Read-only.") || strings.Contains(schema.Description, " Read-only.") { - field.ReadOnly = true - } - if strings.HasPrefix(schema.Description, "Required.") || strings.Contains(schema.Description, " Required.") { - field.Required = true - } + if field == nil { + logging.Warnf("Skipping field %q in model %q", schemaName, jsonField) + continue + } - if field.Title == "" { - continue + model.Fields[jsonField] = field } - result, _ := FlattenSchemaRef(schemaRef, nil) - - // Determine any enumeration for the field - enum := parseEnum(schema.Enum) - if result != nil && len(result.Enum) > 0 && len(enum) == 0 { - enum = parseEnum(result.Enum) - } + } else if schema.AllOf != nil { + // Model with inheritance + for _, allOf := range schema.AllOf { + if referencedSchemaName := TrimRefPrefix(allOf.Ref); referencedSchemaName != "" { + if model.ParentModel != nil { + return nil, nil, fmt.Errorf("model %q already has a parent model %q, cannot set additional parent %q", schemaName, *model.ParentModel, referencedSchemaName) + } - // Find the corresponding model when the field refers to it, and set the model name for the field - if result != nil && result.Title != "" && result.Schemas != nil { - if _, ok := models[result.Title]; !ok { - models, constants = Schemas(*result, result.Title, models, constants, common) + model.ParentModel = &referencedSchemaName + continue } - field.ModelName = &result.Title - } - // Handle items for collections - if schema.Items != nil && schema.Items.Value != nil { - itemsResult, _ := FlattenSchemaRef(schema.Items, nil) + if allOf.Value != nil && allOf.Value.Properties != nil { + for jsonField, fieldDetails := range allOf.Value.Properties { + field, err := modelFieldFromSchemaRef(jsonField, fieldDetails) + if err != nil { + return nil, nil, fmt.Errorf("building field %q for model %q: %v", jsonField, schemaName, err) + } - // Determine any type for the items - if schema.Items.Value.Type != "" || schema.Items.Value.Format != "" { - field.ItemType = FieldType(schema.Items.Value.Type, schema.Items.Value.Format, field.ModelName != nil) - } + if field == nil { + logging.Warnf("Skipping field %q in model %q", schemaName, jsonField) + continue + } - // Find the corresponding model when the field (items) refers to it, and set the model name for the field items - if itemsResult != nil && itemsResult.Title != "" && itemsResult.Type == "object" { - if _, ok := models[result.Title]; !ok { - models, constants = Schemas(*result, result.Title, models, constants, common) + model.Fields[jsonField] = field } - field.ModelName = &result.Title } } + } - // Match the field type to the referenced object, or set a basic type - if result != nil && schema.Type == "" && schema.Format == "" && (result.Type != "" || result.Format != "") { - field.Type = FieldType(result.Type, result.Format, field.ModelName != nil) - } else { - field.Type = FieldType(schema.Type, schema.Format, field.ModelName != nil) - } + return &model, nil, nil +} - // Set the field type for enums; typically strings for constants, but could be any valid type - if result != nil && field.Type != nil && *field.Type == DataTypeArray && len(enum) > 0 && (result.Type != "" || result.Format != "") { - field.ItemType = FieldType(result.Type, result.Format, field.ModelName != nil) - } +func modelFieldFromSchemaRef(jsonField string, fieldSchema *openapi3.SchemaRef) (*ModelField, error) { + if fieldSchema.Value == nil { + return nil, fmt.Errorf("field has no definition") + } - if ((field.Type != nil && *field.Type == DataTypeString) || (field.ItemType != nil && *field.ItemType == DataTypeString)) && len(enum) > 0 { - // Despite being "fully qualified", type names are not unique in MS Graph, so we prefix them with the model name to provide some namespacing. - // Though we attempt to de-duplicate, this does lead to some excessively long constant names, it is what it is. - constantName := name - if result.Title != "" { - // use provided ref name if present - constantName += result.Title - } else { - // otherwise use the field name - constantName += field.Title - } - constantName = normalize.DeDuplicateName(constantName) - constantName = normalize.Singularize(constantName) + field := ModelField{ + Name: normalize.CleanName(jsonField), + Description: fieldSchema.Value.Description, + Default: fieldSchema.Value.Default, + ReadOnly: fieldSchema.Value.ReadOnly, + WriteOnly: fieldSchema.Value.WriteOnly, + Nullable: fieldSchema.Value.Nullable, + AllowEmptyValue: fieldSchema.Value.AllowEmptyValue, + } - field.ConstantName = pointer.To(constantName) + if fieldSchema.Value.AnyOf != nil { + for _, fieldReference := range fieldSchema.Value.AnyOf { + if referencedSchemaName := TrimRefPrefix(fieldReference.Ref); referencedSchemaName != "" { + if field.ReferenceName != nil { + return nil, fmt.Errorf("reference %q already set, cannot set new reference %q", *field.ReferenceName, referencedSchemaName) + } - // Add the enumeration as a constant - constants[constantName] = &Constant{ - Enum: enum, - Type: field.Type, + field.ReferenceName = &referencedSchemaName } } + } - if field.Type == nil { - logging.Warnf("Skipping field %q in model %q because Type is nil", name, field.Title) - continue + if referencedSchemaName := TrimRefPrefix(fieldSchema.Ref); referencedSchemaName != "" { + if field.ReferenceName != nil { + return nil, fmt.Errorf("reference %q already set, cannot set new reference %q", *field.ReferenceName, referencedSchemaName) } - // Insert an "@odata.bind" field where a field or collection refers to a DirectoryObject. The MS Graph - // OpenAPI spec unfortunately does not document relationships between entities. - if field.ModelName != nil && strings.EqualFold(*field.ModelName, "DirectoryObject") { - bindFieldName := fmt.Sprintf("%s_ODataBind", normalize.CleanName(jsonField)) + field.ReferenceName = &referencedSchemaName + } - description := "" - if *field.Type == DataTypeArray { - description = fmt.Sprintf("List of OData IDs for `%s` to bind to this entity", normalize.CleanName(jsonField)) - } else { - description = fmt.Sprintf("OData ID for `%s` to bind to this entity", normalize.CleanName(jsonField)) - } + field.Type = FieldType(fieldSchema.Value.Type, fieldSchema.Value.Format, field.ReferenceName != nil) - var fieldType, itemType *DataType + if items := fieldSchema.Value.Items; items != nil { + if items.Value != nil && items.Value.AnyOf != nil { + for _, itemsReference := range items.Value.AnyOf { + if referencedSchemaName := TrimRefPrefix(itemsReference.Ref); referencedSchemaName != "" { + if field.ReferenceName != nil { + return nil, fmt.Errorf("item reference %q already set, cannot set new reference %q", *field.ReferenceName, referencedSchemaName) + } - fieldType = pointer.To(DataTypeString) - if *field.Type == DataTypeArray { - fieldType = pointer.To(DataTypeArray) - itemType = pointer.To(DataTypeString) + field.ReferenceName = &referencedSchemaName + } } + } - model.Fields[bindFieldName] = &ModelField{ - Title: bindFieldName, - Description: description, - Type: fieldType, - ItemType: itemType, - JsonField: fmt.Sprintf("%s@odata.bind", jsonField), + if referencedSchemaName := TrimRefPrefix(items.Ref); referencedSchemaName != "" { + if field.ReferenceName != nil { + return nil, fmt.Errorf("item reference %q already set, cannot set new reference %q", *field.ReferenceName, referencedSchemaName) } + + field.ReferenceName = &referencedSchemaName + } + + if field.ReferenceName == nil && items.Value == nil { + return nil, fmt.Errorf("item reference not found and items have no definition") } - model.Fields[normalize.CleanName(jsonField)] = &field + field.ItemType = FieldType(items.Value.Type, items.Value.Format, field.ReferenceName != nil) + } + + // Detect nullable, read-only and required fields from the description + if (strings.HasPrefix(fieldSchema.Value.Description, "Nullable.") || strings.Contains(fieldSchema.Value.Description, " Nullable.")) && !strings.Contains(strings.ToLower(fieldSchema.Value.Description), "not nullable.") { + field.Nullable = true + } + if strings.HasPrefix(fieldSchema.Value.Description, "Read-only.") || strings.Contains(fieldSchema.Value.Description, " Read-only.") { + field.ReadOnly = true + } + if strings.HasPrefix(fieldSchema.Value.Description, "Required.") || strings.Contains(fieldSchema.Value.Description, " Required.") { + field.Required = true + } + + if field.Type == nil { + return nil, nil } - return models, constants + return &field, nil } // parseEnum returns a slice of sanitized enum values (which are always strings) diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go index fc7f224f577..4df7fed50c7 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go @@ -28,28 +28,26 @@ func (workaroundApplication) Process(apiVersion string, models parser.Models, co return nil } - model, ok := models["Application"] + model, ok := models["microsoft.graph.application"] if !ok { return fmt.Errorf("`Application` model not found") } // Add the `oauth2RequirePostResponse` field if missing if _, ok := model.Fields["OAuth2RequirePostResponse"]; !ok { - model.Fields["OAuth2RequirePostResponse"] = &parser.ModelField{ - Title: "OAuth2RequirePostResponse", + model.Fields["oauth2RequirePostResponse"] = &parser.ModelField{ + Name: "OAuth2RequirePostResponse", Description: "Specifies whether, as part of OAuth 2.0 token requests, Microsoft Entra ID allows POST requests, as opposed to GET requests. The default is false, which specifies that only GET requests are allowed.", Type: pointer.To(parser.DataTypeBool), - JsonField: "oauth2RequirePostResponse", } } // Add the `applicationTemplateId` field if missing if _, ok := model.Fields["ApplicationTemplateId"]; !ok { - model.Fields["ApplicationTemplateId"] = &parser.ModelField{ - Title: "ApplicationTemplateId", + model.Fields["applicationTemplateId"] = &parser.ModelField{ + Name: "ApplicationTemplateId", Description: "Unique identifier of the applicationTemplate. Supports $filter (eq, not, ne). Read-only. null if the app wasn't created from an application template.", Type: pointer.To(parser.DataTypeString), - JsonField: "applicationTemplateId", Nullable: true, } } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go index 1f275279f5b..86c1b584267 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -20,113 +20,97 @@ func (workaroundConditionalAccessPolicy) Name() string { } func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { - model, ok := models["ConditionalAccessPolicy"] + model, ok := models["microsoft.graph.conditionalAccessPolicy"] if !ok { return fmt.Errorf("`ConditionalAccessPolicy` model not found") } // grantControls and sessionControls must be null to unset them, so make them nullable + required - if _, ok = model.Fields["GrantControls"]; !ok { + if _, ok = model.Fields["grantControls"]; !ok { return fmt.Errorf("`GrantControls` field not found") } - model.Fields["GrantControls"].Nullable = true - model.Fields["GrantControls"].Required = true - if _, ok = model.Fields["SessionControls"]; !ok { + model.Fields["grantControls"].Nullable = true + model.Fields["grantControls"].Required = true + if _, ok = model.Fields["sessionControls"]; !ok { return fmt.Errorf("`SessionControls` field not found") } - model.Fields["SessionControls"].Nullable = true - model.Fields["SessionControls"].Required = true + model.Fields["sessionControls"].Nullable = true + model.Fields["sessionControls"].Required = true - model, ok = models["ConditionalAccessConditionSet"] + model, ok = models["microsoft.graph.conditionalAccessConditionSet"] if !ok { return fmt.Errorf("`ConditionalAccessConditionSet` model not found") } // devices, locations, platforms must each be null to unset them, so make them nullable + required - if _, ok = model.Fields["Devices"]; !ok { + if _, ok = model.Fields["devices"]; !ok { return fmt.Errorf("`Devices` field not found") } - model.Fields["Devices"].Nullable = true - model.Fields["Devices"].Required = true - if _, ok = model.Fields["Locations"]; !ok { + model.Fields["devices"].Nullable = true + model.Fields["devices"].Required = true + if _, ok = model.Fields["locations"]; !ok { return fmt.Errorf("`Locations` field not found") } - model.Fields["Locations"].Nullable = true - model.Fields["Locations"].Required = true - if _, ok = model.Fields["Platforms"]; !ok { + model.Fields["locations"].Nullable = true + model.Fields["locations"].Required = true + if _, ok = model.Fields["platforms"]; !ok { return fmt.Errorf("`Platforms` field not found") } - model.Fields["Platforms"].Nullable = true - model.Fields["Platforms"].Required = true + model.Fields["platforms"].Nullable = true + model.Fields["platforms"].Required = true - model, ok = models["ConditionalAccessExternalTenants"] + model, ok = models["microsoft.graph.conditionalAccessExternalTenants"] if !ok { return fmt.Errorf("`ConditionalAccessExternalTenants` model not found") } // Add the `members` field if missing - if _, ok = model.Fields["Members"]; !ok { - model.Fields["Members"] = &parser.ModelField{ - Title: "Members", - Type: pointer.To(parser.DataTypeArray), - ItemType: pointer.To(parser.DataTypeString), - JsonField: "members", + if _, ok = model.Fields["members"]; !ok { + model.Fields["members"] = &parser.ModelField{ + Name: "Members", + Type: pointer.To(parser.DataTypeArray), + ItemType: pointer.To(parser.DataTypeString), } } // Set CSV type for field - model, ok = models["ConditionalAccessGuestsOrExternalUsers"] + model, ok = models["microsoft.graph.conditionalAccessGuestsOrExternalUsers"] if !ok { return fmt.Errorf("`ConditionalAccessGuestsOrExternalUsers` model not found") } - if _, ok = model.Fields["GuestOrExternalUserTypes"]; !ok { + if _, ok = model.Fields["guestOrExternalUserTypes"]; !ok { return fmt.Errorf("`GuestOrExternalUserTypes` field not found") } - model.Fields["GuestOrExternalUserTypes"].Type = pointer.To(parser.DataTypeCsv) + //model.Fields["guestOrExternalUserTypes"].Type = pointer.To(parser.DataTypeCsv) - // Rename this constant - if v, ok := constants["ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType"]; ok { - constants["ConditionalAccessGuestOrExternalUserType"] = v - - for _, model = range models { - for fieldName := range model.Fields { - if model.Fields[fieldName].ConstantName != nil && *model.Fields[fieldName].ConstantName == "ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType" { - model.Fields[fieldName].ConstantName = pointer.To("ConditionalAccessGuestOrExternalUserType") - } - } - } - - delete(constants, "ConditionalAccessGuestsOrExternalUsersGuestOrExternalUserType") - } - - model, ok = models["ConditionalAccessSessionControls"] + model, ok = models["microsoft.graph.conditionalAccessSessionControls"] if !ok { return fmt.Errorf("`ConditionalAccessSessionControls` model not found") } // cloudAppSecurityPolicy must be null to unset it, so make it nullable + required - if _, ok = model.Fields["CloudAppSecurity"]; !ok { + if _, ok = model.Fields["cloudAppSecurity"]; !ok { return fmt.Errorf("`CloudAppSecurity` field not found") } - model.Fields["CloudAppSecurity"].Nullable = true - model.Fields["CloudAppSecurity"].Required = true + model.Fields["cloudAppSecurity"].Nullable = true + model.Fields["cloudAppSecurity"].Required = true - model, ok = models["ConditionalAccessUsers"] + model, ok = models["microsoft.graph.conditionalAccessUsers"] if !ok { return fmt.Errorf("`ConditionalAccessUsers` model not found") } // excludeGuestsOrExternalUsers / includeGuestsOrExternalUsers must be null to unset them, so make them nullable + required - if _, ok = model.Fields["ExcludeGuestsOrExternalUsers"]; !ok { + if _, ok = model.Fields["excludeGuestsOrExternalUsers"]; !ok { return fmt.Errorf("`ExcludeGuestsOrExternalUsers` field not found") } - model.Fields["ExcludeGuestsOrExternalUsers"].Nullable = true - model.Fields["ExcludeGuestsOrExternalUsers"].Required = true - if _, ok = model.Fields["IncludeGuestsOrExternalUsers"]; !ok { + model.Fields["excludeGuestsOrExternalUsers"].Nullable = true + model.Fields["excludeGuestsOrExternalUsers"].Required = true + if _, ok = model.Fields["includeGuestsOrExternalUsers"]; !ok { return fmt.Errorf("`IncludeGuestsOrExternalUsers` field not found") } - model.Fields["IncludeGuestsOrExternalUsers"].Nullable = true - model.Fields["IncludeGuestsOrExternalUsers"].Required = true + model.Fields["includeGuestsOrExternalUsers"].Nullable = true + model.Fields["includeGuestsOrExternalUsers"].Required = true return nil } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go deleted file mode 100644 index 89e4de2b7f8..00000000000 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_directoryobject.go +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package workarounds - -import ( - "fmt" - - "github.com/hashicorp/go-azure-helpers/lang/pointer" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" -) - -var _ workaround = workaroundDirectoryObject{} - -// workaroundDirectoryObject implements discrimination for the most common implementations of DirectoryObject. More -// can be added as necessary over time; unfortunately there doesn't seem to be any way of auto-detecting these. -type workaroundDirectoryObject struct{} - -func (workaroundDirectoryObject) Name() string { - return "Directory Object / discrimination" -} - -func (workaroundDirectoryObject) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { - model, ok := models["DirectoryObject"] - if !ok { - return fmt.Errorf("`DirectoryObject` model not found") - } - - if _, ok = model.Fields["ODataType"]; !ok { - return fmt.Errorf("`ODataType` field not found in `DireectoryObject` model") - } - - model.Fields["ODataType"].ConstantName = pointer.To("DirectoryObjectType") - model.Fields["ODataType"].DiscriminatedValue = true - model.TypeField = pointer.To("ODataType") - - // Add constant values for the discriminated type value - constants["DirectoryObjectType"] = &parser.Constant{ - Enum: []string{ - "#microsoft.graph.administrativeUnit", - "#microsoft.graph.application", - "#microsoft.graph.device", - "#microsoft.graph.group", - "#microsoft.graph.orgContact", - "#microsoft.graph.servicePrincipal", - "#microsoft.graph.user", - }, - Type: pointer.To(parser.DataTypeString), - } - - // Set the parent model and discriminated type value for AdministrativeUnit - model, ok = models["AdministrativeUnit"] - if !ok { - return fmt.Errorf("`AdministrativeUnit` model not found") - } - model.ParentModelName = pointer.To("DirectoryObject") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.administrativeUnit") - - // Set the parent model and discriminated type value for Application - model, ok = models["Application"] - if !ok { - return fmt.Errorf("`Application` model not found") - } - model.ParentModelName = pointer.To("DirectoryObject") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.application") - - // Set the parent model and discriminated type value for Device - model, ok = models["Device"] - if !ok { - return fmt.Errorf("`Device` model not found") - } - model.ParentModelName = pointer.To("DirectoryObject") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.device") - - // Set the parent model and discriminated type value for Group - model, ok = models["Group"] - if !ok { - return fmt.Errorf("`Group` model not found") - } - model.ParentModelName = pointer.To("DirectoryObject") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.group") - - // Set the parent model and discriminated type value for OrgContact - model, ok = models["OrgContact"] - if !ok { - return fmt.Errorf("`OrgContact` model not found") - } - model.ParentModelName = pointer.To("DirectoryObject") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.orgContact") - - // Set the parent model and discriminated type value for ServicePrincipal - model, ok = models["ServicePrincipal"] - if !ok { - return fmt.Errorf("`ServicePrincipal` model not found") - } - model.ParentModelName = pointer.To("DirectoryObject") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.servicePrincipal") - - // Set the parent model and discriminated type value for User - model, ok = models["User"] - if !ok { - return fmt.Errorf("`User` model not found") - } - model.ParentModelName = pointer.To("DirectoryObject") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.user") - - return nil -} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go deleted file mode 100644 index fca8b6c2d43..00000000000 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_iprange.go +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package workarounds - -import ( - "fmt" - - "github.com/hashicorp/go-azure-helpers/lang/pointer" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" -) - -var _ workaround = workaroundIPRange{} - -// workaroundIPRange implements discrimination for iPv4CidrRange, iPv4Range, iPv6CidrRange, and iPv6Range -type workaroundIPRange struct{} - -func (workaroundIPRange) Name() string { - return "IPRange / discrimination" -} - -func (workaroundIPRange) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { - // microsoft.graph.ipRange model is empty and is omitted by the OpenAPI parser - models["IPRange"] = &parser.Model{ - Fields: map[string]*parser.ModelField{ - "ODataId": { - Title: "ODataId", - Type: pointer.To(parser.DataTypeString), - Default: "", - JsonField: "@odata.id", - }, - "ODataType": { - Title: "ODataType", - Type: pointer.To(parser.DataTypeString), - ConstantName: pointer.To("IPRangeType"), - Default: "", - DiscriminatedValue: true, - JsonField: "@odata.type", - }, - }, - Common: true, - TypeField: pointer.To("ODataType"), - } - - if _, ok := constants["IPRangeType"]; ok { - return fmt.Errorf("`IPRangeType` constant already defined") - } - - // Add constant values for the discriminated type value - constants["IPRangeType"] = &parser.Constant{ - Enum: []string{ - "#microsoft.graph.iPv4CidrRange", - "#microsoft.graph.iPv4Range", - "#microsoft.graph.iPv6CidrRange", - "#microsoft.graph.iPv6Range", - }, - Type: pointer.To(parser.DataTypeString), - } - - // Set the parent model and discriminated type value for IPv4CIDRRange - model, ok := models["IPv4CIDRRange"] - if !ok { - return fmt.Errorf("`IPv4CIDRRange` model not found") - } - model.ParentModelName = pointer.To("IPRange") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.iPv4CidrRange") - - // Set the parent model and discriminated type value for IPv4Range - model, ok = models["IPv4Range"] - if !ok { - return fmt.Errorf("`IPv4Range` model not found") - } - model.ParentModelName = pointer.To("IPRange") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.iPv4Range") - - // Set the parent model and discriminated type value for IPv6CIDRRange - model, ok = models["IPv6CIDRRange"] - if !ok { - return fmt.Errorf("`IPv6CIDRRange` model not found") - } - model.ParentModelName = pointer.To("IPRange") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.iPv6CidrRange") - - // Set the parent model and discriminated type value for IPv6Range - model, ok = models["IPv6Range"] - if !ok { - return fmt.Errorf("`IPv6Range` model not found") - } - model.ParentModelName = pointer.To("IPRange") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.iPv6Range") - - return nil -} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go deleted file mode 100644 index c9348a669e3..00000000000 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_namedlocation.go +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package workarounds - -import ( - "fmt" - - "github.com/hashicorp/go-azure-helpers/lang/pointer" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" -) - -var _ workaround = workaroundNamedLocation{} - -// workaroundNamedLocation implements discrimination for countryNamedLocation and ipNamedLocation -type workaroundNamedLocation struct{} - -func (workaroundNamedLocation) Name() string { - return "NamedLocation / discrimination" -} - -func (workaroundNamedLocation) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { - model, ok := models["NamedLocation"] - if !ok { - return fmt.Errorf("`NamedLocation` model not found") - } - - if _, ok = model.Fields["ODataType"]; !ok { - return fmt.Errorf("`ODataType` field not found in `NamedLocation` model") - } - - // Set the constant reference and discriminated flag for the @odata.type field - model.Fields["ODataType"].ConstantName = pointer.To("NamedLocationType") - model.Fields["ODataType"].DiscriminatedValue = true - model.TypeField = pointer.To("ODataType") - - if _, ok = constants["NamedLocationType"]; ok { - return fmt.Errorf("`NamedLocationType` constant already defined") - } - - // Add constant values for the discriminated type value - constants["NamedLocationType"] = &parser.Constant{ - Enum: []string{ - "#microsoft.graph.countryNamedLocation", - "#microsoft.graph.ipNamedLocation", - }, - Type: pointer.To(parser.DataTypeString), - } - - // Set the parent model and discriminated type value for CountryNamedLocation - model, ok = models["CountryNamedLocation"] - if !ok { - return fmt.Errorf("`CountryNamedLocation` model not found") - } - model.ParentModelName = pointer.To("NamedLocation") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.countryNamedLocation") - - // Set the parent model and discriminated type value for CountryNamedLocation - model, ok = models["IPNamedLocation"] - if !ok { - return fmt.Errorf("`IPNamedLocation` model not found") - } - model.ParentModelName = pointer.To("NamedLocation") - model.TypeField = pointer.To("ODataType") - model.TypeValue = pointer.To("#microsoft.graph.ipNamedLocation") - - return nil -} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go new file mode 100644 index 00000000000..79bbcc53723 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go @@ -0,0 +1,61 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + "strings" + + "github.com/hashicorp/go-azure-helpers/lang/pointer" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" +) + +var _ workaround = workaroundODataBind{} + +// workaroundODataBind inserts an `@odata.bind` field where a field or collection refers to a DirectoryObject. The +// OpenAPI spec unfortunately does not document relationships between entities. +type workaroundODataBind struct{} + +func (workaroundODataBind) Name() string { + return "OData / add @odata.bind fields" +} + +func (workaroundODataBind) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { + for schemaName, model := range models { + for jsonField, field := range model.Fields { + if field.ReferenceName != nil && strings.EqualFold(*field.ReferenceName, "microsoft.graph.directoryObject") { + bindFieldName := fmt.Sprintf("%s_ODataBind", normalize.CleanName(jsonField)) + bindFieldJsonName := fmt.Sprintf("%s@odata.bind", jsonField) + + logging.Tracef("Adding `%s_ODataBind` (`%s@odata.bind`) field to %q model", bindFieldName, bindFieldJsonName, schemaName) + + description := "" + if field.Type != nil && *field.Type == parser.DataTypeArray { + description = fmt.Sprintf("List of OData IDs for `%s` to bind to this entity", normalize.CleanName(jsonField)) + } else { + description = fmt.Sprintf("OData ID for `%s` to bind to this entity", normalize.CleanName(jsonField)) + } + + var fieldType, itemType *parser.DataType + + fieldType = pointer.To(parser.DataTypeString) + if *field.Type == parser.DataTypeArray { + fieldType = pointer.To(parser.DataTypeArray) + itemType = pointer.To(parser.DataTypeString) + } + + model.Fields[bindFieldJsonName] = &parser.ModelField{ + Name: bindFieldName, + Description: description, + Type: fieldType, + ItemType: itemType, + } + } + } + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go index c3d2aba5c8d..afbdc577aa7 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go @@ -4,9 +4,8 @@ package workarounds import ( - "strings" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) var _ workaround = workaroundRepeatingResourceIdSegments{} @@ -21,47 +20,16 @@ func (workaroundRepeatingResourceIdSegments) Name() string { func (workaroundRepeatingResourceIdSegments) Process(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { for resourceIdName := range resourceIds { var invalid bool + resourceId := *resourceIds[resourceIdName] - // Repeating segments, which are not supported - if strings.Contains(resourceIdName, "SiteIdSiteId") { - invalid = true - } - - // GroupSiteTermStore resources have repeating ID segments which are not supported at this time - if strings.Contains(resourceIdName, "TermStore") { - invalid = true - } - - // Onenote resources have repeating ID segments which are not supported at this time - if strings.Contains(resourceIdName, "Onenote") { - invalid = true - } - - // These contain IDs with repeating segments, which are not supported at this time - prefixes := []string{ - "IdentityGovernanceEntitlementManagementAccessPackageIdResourceRoleScopeIdRoleResourceScopeIdResourceRoleId", - "IdentityGovernanceEntitlementManagementAccessPackageIdResourceRoleScopeIdScopeResourceRoleIdResourceScopeId", - "IdentityGovernanceEntitlementManagementCatalogIdResourceRoleIdResourceScopeIdResourceRoleId", - "IdentityGovernanceEntitlementManagementCatalogIdResourceScopeIdResourceRoleIdResourceScopeId", - "IdentityGovernanceEntitlementManagementResourceRequestIdCatalogResourceRoleIdResourceScopeIdResourceRoleId", - "IdentityGovernanceEntitlementManagementResourceRequestIdCatalogResourceScopeIdResourceRoleIdResourceScopeId", - "IdentityGovernanceEntitlementManagementResourceRequestIdResourceRoleIdResourceScopeId", - "IdentityGovernanceEntitlementManagementResourceRequestIdResourceScopeIdResourceRoleId", - "IdentityGovernanceEntitlementManagementResourceRoleScopeIdRoleResourceScopeIdResourceRoleId", - "IdentityGovernanceEntitlementManagementResourceRoleScopeIdScopeResourceRoleIdResourceScopeId", - "MePendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionId", - "MePendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionIdInsightId", - "MePendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionId", - "MePendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionIdInsightId", - "UserIdPendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionId", - "UserIdPendingAccessReviewInstanceIdDecisionIdInstanceStageIdDecisionIdInsightId", - "UserIdPendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionId", - "UserIdPendingAccessReviewInstanceIdStageIdDecisionIdInstanceDecisionIdInsightId", - } - for _, prefix := range prefixes { - if strings.HasPrefix(resourceIdName, prefix) { + seenSegmentNames := map[string]struct{}{} + for _, segment := range resourceId.Segments { + if _, ok := seenSegmentNames[segment.Value]; ok { + logging.Warnf("Dropping resource ID due to duplicate segment %q: %s", resourceIdName, segment.Value) invalid = true + break } + seenSegmentNames[segment.Value] = struct{}{} } if invalid { diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index e44c3345aac..be9f0d1d827 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -11,19 +11,18 @@ import ( ) var workarounds = []workaround{ + workaroundODataBind{}, + workaroundRepeatingResourceIdSegments{}, + workaroundApplication{}, workaroundConditionalAccessPolicy{}, - workaroundDirectoryObject{}, - workaroundNamedLocation{}, - workaroundIPRange{}, - workaroundRepeatingResourceIdSegments{}, } type workaround interface { // Name returns the Service Name and associated Pull Request number Name() string - // Process takes the apiDefinition and applies the Workaround to this AzureApiDefinition + // Process performs any necessary fixes to constants, models and/or resource IDs Process(string, parser.Models, parser.Constants, parser.ResourceIds) error } @@ -31,7 +30,7 @@ type workaround interface { func ApplyWorkarounds(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { logging.Tracef("Processing Data Workarounds..") for _, fix := range workarounds { - logging.Tracef("Applying Data Workaround %q to Model %q", fix.Name()) + logging.Tracef("Applying Data Workaround %q", fix.Name()) if err := fix.Process(apiVersion, models, constants, resourceIds); err != nil { return fmt.Errorf("applying Data Workaround %q: %v", fix.Name(), err) } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/importer.go b/tools/importer-msgraph-metadata/internal/pipeline/importer.go index e1180d7bc79..ae2bfcfe3a7 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/importer.go @@ -58,7 +58,7 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } logging.Infof("Parsing models and constants...") - p.models, p.constants, err = parser.Common(p.spec.Components.Schemas) + p.models, p.constants, err = parser.ModelsAndConstants(p.spec.Components.Schemas) if err != nil { return err } @@ -74,11 +74,6 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha return err } - logging.Infof("Cleaning up models...") - if err = p.cleanupModels(); err != nil { - return err - } - serviceTags, err := tags.Parse(p.spec.Tags) if err != nil { return err diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go b/tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go deleted file mode 100644 index c81c6617e6b..00000000000 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_cleanup_models.go +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package pipeline - -func (p pipeline) cleanupModels() error { - // First delete all invalid models (i.e. those without fields) - modelsToDelete := make([]string, 0) - for modelName, model := range p.models { - if !model.IsValid() { - modelsToDelete = append(modelsToDelete, modelName) - } - } - - for _, modelName := range modelsToDelete { - delete(p.models, modelName) - } - - // Look for invalid references due to deleted models, and remove them - for _, model := range p.models { - for _, field := range model.Fields { - if field.ModelName != nil { - if !p.models.Found(*field.ModelName) { - field.ModelName = nil - } - } - } - } - - return nil -} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index f1379c1e3f2..03600e7dfd9 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -15,6 +15,8 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) +const directoryObjectSchemaName = "microsoft.graph.directoryObject" + func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, models parser.Models, constants parser.Constants) (resources parser.Resources, err error) { resources = make(parser.Resources) for pathKey, pathItem := range p.spec.Paths { @@ -44,6 +46,10 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model parsedPath := parser.NewResourceId(path, operationTags) lastSegment := parsedPath.Segments[len(parsedPath.Segments)-1] + if len(parsedPath.Segments) == 0 { + continue + } + // Determine whether to skip a path containing unsupported segment types for idx, segment := range parsedPath.Segments { if segment.Type == parser.SegmentCast || segment.Type == parser.SegmentFunction { @@ -134,8 +140,10 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model if operation.Responses != nil { for stat, resp := range operation.Responses { var status int - var contentType, responseModel *string + var responseContentType, responseReferenceName *string var responseType *parser.DataType + var responseConstant *parser.Constant + var responseModel *parser.Model if s, err := strconv.Atoi(strings.ReplaceAll(stat, "X", "0")); err == nil { status = s @@ -144,61 +152,133 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model continue } - if resp.Value != nil && len(resp.Value.Content) > 0 { - if resp.Value.Description != nil && strings.Contains(strings.ToLower(*resp.Value.Description), "collection") { - listOperation = true - } - for t, m := range resp.Value.Content { - contentType = &t + if resp.Value != nil { + for contentType, content := range resp.Value.Content { + responseContentType = &contentType - // Prefer model name from Ref - if strings.HasPrefix(m.Schema.Ref, parser.RefPrefix) { - modelName := normalize.CleanName(m.Schema.Ref[len(parser.RefPrefix):]) - responseModel = &modelName + if content.Schema == nil { + continue } - if m.Schema != nil { - // Flatten the response SchemaRef for inspection - if f, _ := parser.FlattenSchemaRef(m.Schema, nil); f != nil { - if f.Format == "binary" { - responseType = pointer.To(parser.DataTypeBinary) - break - } + switch strings.ToLower(contentType) { + // Binary payloads are handled by the SDK and unmarshalled into []byte + case "application/octet-stream", "text/plain", "text/powershell": + responseType = pointer.To(parser.DataTypeBinary) + + // Supported content types for unmarshalling into a model or other type + case "application/json", "application/xml", "text/xml": + // This is a temporary name for the response model until we determine the name of the operation, or find a referenced type name + schemaName := "ResponseObject" + + // Try to identify constant or model from ref + if ref := parser.TrimRefPrefix(content.Schema.Ref); ref != "" { + schemaName = ref + } else if value := content.Schema.Value; value != nil && value.AnyOf != nil { + for _, ref := range value.AnyOf { + if referencedSchemaName := parser.TrimRefPrefix(ref.Ref); referencedSchemaName != "" { + if schemaName != "ResponseObject" { + return nil, fmt.Errorf("identifying response object: reference %q already set, cannot set new reference %q", schemaName, referencedSchemaName) + } - // Derive model from schema title and/or and response type from schema type - if title := f.Title; title != "" || f.Type != "" { - if strings.HasPrefix(strings.ToLower(title), "collectionof") { - title = title[12:] - listOperation = true + schemaName = referencedSchemaName } + } + } - if responseModel == nil && title != "" { - if modelName := normalize.CleanName(title); models.Found(modelName) { - responseModel = &modelName - } + // Look for a referenced constant or model + if schemaName != "ResponseObject" { + if constants.Found(schemaName) { + responseConstant = constants[schemaName] + responseReferenceName = &schemaName + responseType = pointer.To(parser.DataTypeReference) + } else if models.Found(schemaName) { + responseModel = models[schemaName] + responseReferenceName = &schemaName + responseType = pointer.To(parser.DataTypeReference) + } + } + + // If no constant/model was found, build one from the provided schema + if responseConstant == nil && responseModel == nil { + model, constant, err := parser.ModelOrConstant(schemaName, content.Schema, false) + if err != nil { + return nil, fmt.Errorf("building response model: %v", err) + } + + if constant == nil && model == nil { + return nil, fmt.Errorf("building response object: could not find a constant or model for the reference %q", schemaName) + } + if constant != nil && model != nil { + return nil, fmt.Errorf("building response object: received a constant and a model for the reference %q", schemaName) + } + + if constant != nil { + responseConstant = constant + responseReferenceName = &schemaName + responseType = pointer.To(parser.DataTypeReference) + + } else if model != nil { + // An empty model will be returned if there is no schema, skip this + if len(model.Fields) > 0 || model.ParentModel != nil { + responseModel = model + responseReferenceName = &schemaName + responseType = pointer.To(parser.DataTypeReference) } + } + } + + // GET requests to URIs ending in '/$ref' should always return one or more directoryObjects, + // but this isn't always described in the spec, so hardcode this. + if strings.ToUpper(method) == "GET" && lastSegment.Type == parser.SegmentODataReference && lastSegment.Value == "$ref" { + var value *parser.ModelField + if responseModel != nil { + value, _ = responseModel.Fields["value"] + } + if value != nil && value.Type != nil && *value.Type == parser.DataTypeArray { + value.ItemType = pointer.To(parser.DataTypeReference) + value.ReferenceName = pointer.To(directoryObjectSchemaName) + } else { + responseModel = models[directoryObjectSchemaName] + responseReferenceName = pointer.To(directoryObjectSchemaName) + } + } - if l := parser.FieldType(f.Type, title, responseModel != nil); l != nil { - responseType = l + if responseModel != nil { + // When the response comprises a `value` field containing an array, this is probably a + // paginated list operation, so mark it as such, and take the item type as the response + // type, since the SDK handles pagination without needing an intermediary model. + if value, ok := responseModel.Fields["value"]; ok && value.Type != nil && *value.Type == parser.DataTypeArray { + // Make this a list operation to enable pagination + listOperation = true + + // Prefer the type of the `value` array item + if value.ReferenceName != nil { + // `value` items contain a referenced model + responseReferenceName = value.ReferenceName + responseType = pointer.To(parser.DataTypeReference) + } else if value.ItemType != nil { + // `value` items contain a simple type + responseReferenceName = nil + responseType = value.ItemType } } } + + default: + return nil, fmt.Errorf("unsupported content-type: %q", contentType) } break } } - // Use generic DirectoryObject model for List operations ending in "/$ref" where no other model was found - if listOperation && responseModel == nil && resourceId != nil && len(resourceId.Segments) > 0 && resourceId.Segments[len(resourceId.Segments)-1].Value == "$ref" { - responseModel = pointer.To("DirectoryObject") - } - responses = append(responses, parser.Response{ - Status: status, - ContentType: contentType, - ModelName: responseModel, - Type: responseType, + Status: status, + ContentType: responseContentType, + ReferenceName: responseReferenceName, + Type: responseType, + Constant: responseConstant, + Model: responseModel, }) } } @@ -259,46 +339,92 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } + // Now that we have determined the operation name, we can rename any ad-hoc response models accordingly and + // persist them in the global constants or models map. We _might_ have more than one ad-hoc response model, + // so for subsequent ones we just append an integer to ensure the resulting SDK code compiles. Ad-hoc + // response models are those that are described in the response but don't exist as a formal constant/model. + if len(responses) > 0 { + usedNames := make(map[string]struct{}) + + nextAvailableObjectName := func() string { + proposed := fmt.Sprintf("%sResult", operationName) + var count int + for { + if _, ok := usedNames[proposed]; !ok { + break + } + count++ + proposed = fmt.Sprintf("%s%dResult", operationName, count) + } + usedNames[proposed] = struct{}{} + return proposed + } + + for i, response := range responses { + if response.ReferenceName != nil && *response.ReferenceName == "ResponseObject" { + objectName := nextAvailableObjectName() + responses[i].ReferenceName = pointer.To(objectName) + + if response.Constant != nil && response.Constant.Name == "ResponseObject" { + response.Constant.Name = objectName + + // Persist the constant to the global constants + constants[objectName] = response.Constant + } else if response.Model != nil && response.Model.Name == "ResponseObject" { + response.Model.Name = objectName + + // Persist the model to the global models + models[objectName] = response.Model + } + } + } + } + // Determine request model - var requestModel *string + var requestContentType, requestModelName *string var requestType *parser.DataType if operation.RequestBody != nil && operation.RequestBody.Value != nil { for contentType, content := range operation.RequestBody.Value.Content { - if content.Schema != nil { - if schema, _ := parser.FlattenSchemaRef(content.Schema, nil); schema != nil { - if strings.ToLower(schema.Format) == "binary" { - requestType = pointer.To(parser.DataTypeBinary) - break - } + requestContentType = &contentType - if strings.HasPrefix(strings.ToLower(contentType), "application/json") { - var modelName string - if strings.HasPrefix(content.Schema.Ref, parser.RefPrefix) { - // Should be a known model - if modelName = normalize.CleanName(content.Schema.Ref[len(parser.RefPrefix):]); models.Found(modelName) { - requestModel = &modelName - break - } - } else if schema.Title != "" { - // Should be a known model - if modelName = normalize.CleanName(schema.Title); models.Found(modelName) { - requestModel = &modelName - break - } - } else if len(schema.Schemas) > 0 { - // Unique object for this operation - modelName = fmt.Sprintf("%sRequest", operationName) - models, constants = parser.Schemas(*schema, modelName, models, constants, false) - - // Only assign requestModel if the parsed model was valid and added - if models.Found(modelName) { - requestModel = &modelName - } - break - } - } + if content.Schema == nil { + continue + } + + // Binary payloads are handled by the SDK + if content.Schema.Value != nil && content.Schema.Value.Format == "binary" { + requestType = pointer.To(parser.DataTypeBinary) + break + } + + // Try to locate model from ref + var requestModel *parser.Model + if referencedSchemaName := parser.TrimRefPrefix(content.Schema.Ref); referencedSchemaName != "" { + if models.Found(referencedSchemaName) { + requestModel = models[referencedSchemaName] + requestModelName = &referencedSchemaName + } + } + + // If no model was found, build one + if requestModel == nil && content.Schema != nil { + requestModelName = pointer.To(fmt.Sprintf("%sRequest", operationName)) + + model, constant, err := parser.ModelOrConstant(*requestModelName, content.Schema, false) + if err != nil { + return nil, fmt.Errorf("building request model: %v", err) + } + if constant != nil { + return nil, fmt.Errorf("building request model: received a constant but expected a model") } + if model == nil { + return nil, fmt.Errorf("building request model: received a nil model") + } + + models[*requestModelName] = model } + + break } } @@ -308,12 +434,11 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model headers := make(parser.Headers, 0) params := make(parser.Params, 0) for _, param := range operation.Parameters { - if param.Value == nil { + if param.Value == nil || param.Value.Schema == nil || param.Value.Schema.Value == nil { continue } - result, _ := parser.FlattenSchemaRef(param.Value.Schema, nil) - paramType := parser.FieldType(result.Type, result.Format, false) + paramType := parser.FieldType(param.Value.Schema.Value.Type, param.Value.Schema.Value.Format, false) switch param.Value.In { case "header": @@ -324,8 +449,13 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model case "query": var itemType *parser.DataType if paramType != nil && *paramType == parser.DataTypeArray { - itemType = parser.FieldType(result.Type, result.Format, false) + items := param.Value.Schema.Value.Items + if items == nil || items.Value == nil { + return nil, fmt.Errorf("encountered query parameter %q with Array type but no Items", param.Value.Name) + } + itemType = parser.FieldType(items.Value.Type, items.Value.Format, false) } + params = append(params, parser.Param{ Name: param.Value.Name, Type: paramType, @@ -340,12 +470,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model requestParams = ¶ms } - if operationType == parser.OperationTypeCreate || operationType == parser.OperationTypeUpdate || operationType == parser.OperationTypeCreateUpdate { - if resourceId != nil && len(resourceId.Segments) > 0 && resourceId.Segments[len(resourceId.Segments)-1].Value == "$ref" { - requestModel = pointer.To("DirectoryObject") - } - } - + // Construct a description for the operation method descriptionChunks := make([]string, 0) if operation.Summary != "" { descriptionChunks = append(descriptionChunks, operation.Summary) @@ -360,19 +485,20 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model operationDescription = strings.TrimPrefix(operationDescription, ";") resources[resourceName].Operations = append(resources[resourceName].Operations, parser.Operation{ - Name: operationName, - Description: operationDescription, - Type: operationType, - Method: method, - ResourceId: resourceId, - UriSuffix: uriSuffix, - RequestModel: requestModel, - RequestHeaders: requestHeaders, - RequestParams: requestParams, - RequestType: requestType, - Responses: responses, - PaginationField: paginationField, - Tags: operation.Tags, + Name: operationName, + Description: operationDescription, + Type: operationType, + Method: method, + ResourceId: resourceId, + UriSuffix: uriSuffix, + RequestContentType: requestContentType, + RequestModel: requestModelName, + RequestHeaders: requestHeaders, + RequestParams: requestParams, + RequestType: requestType, + Responses: responses, + PaginationField: paginationField, + Tags: operation.Tags, }) } } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_common_types.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_common_types.go index 9eb554e4bbf..afbceceaff6 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_common_types.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_common_types.go @@ -16,28 +16,28 @@ func (p pipeline) translateCommonTypesToDataApiSdkTypes() (*sdkModels.CommonType sdkModelsMap := make(map[string]sdkModels.SDKModel) sdkResourceIdsMap := make(map[string]sdkModels.ResourceID) - for modelName, model := range p.models { + for schemaName, model := range p.models { if model.Common { - sdkModel, err := model.DataApiSdkModel(p.models) + sdkModel, err := model.DataApiSdkModel(p.models, p.constants) if err != nil { return nil, err } if sdkModel == nil { - logging.Warnf("skipping invalid model %q as it has no fields", modelName) + logging.Warnf("skipping invalid model %q as it has no fields", schemaName) continue } - sdkModelsMap[modelName] = *sdkModel + sdkModelsMap[model.Name] = *sdkModel } } - for constantName, constant := range p.constants { + for _, constant := range p.constants { constantValues := make(map[string]string) for _, value := range constant.Enum { - // prefix constant value names with underscore to prevent naming conflicts with similarly named models in the generated SDK + // Prefix constant-value names with underscore to prevent naming conflicts with similarly named models in the generated SDK constantValues[fmt.Sprintf("_%s", normalize.CleanName(value))] = value } - sdkConstantsMap[constantName] = sdkModels.SDKConstant{ + sdkConstantsMap[constant.Name] = sdkModels.SDKConstant{ // TODO support additional types, if there are any Type: sdkModels.StringSDKConstantType, Values: constantValues, diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index e632e89fb61..ea56c2d6697 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -50,44 +50,37 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } } + serviceConstants := make(parser.Constants) serviceModels := make(parser.Models) // Populate everything else for _, operation := range resource.Operations { var resourceIdName *string + // Note we longer output resource IDs per service, they are now common types if operation.ResourceId != nil { resourceIdName = &operation.ResourceId.Name - - // No longer output resource IDs per service, they are now common types - //sdkResourceId, err := operation.ResourceId.DataApiSdkResourceId() - //if err != nil { - // return nil, err - //} - // - //sdkServices[resource.Service].APIVersions[resource.Version].Resources[resource.Category].ResourceIDs[operation.ResourceId.Name] = *sdkResourceId } var requestObject *sdkModels.SDKObjectDefinition requestObjectIsCommonType := true if operation.RequestModel != nil { - if !p.models.Found(*operation.RequestModel) { - return nil, fmt.Errorf("request model %q was not found for operation: %s", *operation.RequestModel, operation.Name) + schemaName := *operation.RequestModel + + if !p.models.Found(schemaName) { + return nil, fmt.Errorf("request model %q was not found for operation: %s", schemaName, operation.Name) } - if model := p.models[*operation.RequestModel]; !model.IsValid() { - return nil, fmt.Errorf("request model %q was invalid for operation: %s", *operation.RequestModel, operation.Name) - } else if !model.Common { - requestObjectIsCommonType = false + model := p.models[schemaName] - if err := serviceModels.MergeDependants(p.models, *operation.RequestModel, false); err != nil { - return nil, err - } + if !model.Common { + requestObjectIsCommonType = false + serviceModels[schemaName] = model } requestObject = &sdkModels.SDKObjectDefinition{ - ReferenceName: operation.RequestModel, + ReferenceName: pointer.To(normalize.CleanName(*operation.RequestModel)), ReferenceNameIsCommonType: &requestObjectIsCommonType, Type: sdkModels.ReferenceSDKObjectDefinitionType, } @@ -234,46 +227,36 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv responseObjectIsCommonType := true for _, response := range operation.Responses { - if response.Type != nil && *response.Type == parser.DataTypeModel && response.ModelName != nil { - modelName := *response.ModelName + if response.Type != nil && *response.Type == parser.DataTypeReference && response.ReferenceName != nil { + schemaName := *response.ReferenceName - if !p.models.Found(modelName) { - return nil, fmt.Errorf("response model %q was not found for operation: %s", modelName, operation.Name) + if !p.constants.Found(schemaName) && !p.models.Found(schemaName) { + return nil, fmt.Errorf("response constant or model %q was not found for operation: %s", schemaName, operation.Name) + } + if p.constants.Found(schemaName) && p.models.Found(schemaName) { + return nil, fmt.Errorf("response object %q was found as both a constant and a model for operation: %s", schemaName, operation.Name) } - model := p.models[modelName] - - if !model.IsValid() { - return nil, fmt.Errorf("response model %q was invalid for operation: %s", modelName, operation.Name) - } else if !model.Common { - responseObjectIsCommonType = false + if p.constants.Found(schemaName) { + constant := p.constants[schemaName] - if err := serviceModels.MergeDependants(p.models, modelName, false); err != nil { - return nil, err + if !constant.Common { + responseObjectIsCommonType = false + serviceConstants[schemaName] = constant } } - // List operations return a "CollectionResponse" object, which we are not interested in - // We want the actual underlying model, expected to be in the `value` field - if operation.Type == parser.OperationTypeList { - if value, ok := model.Fields["Value"]; ok && value != nil && *value.Type == parser.DataTypeArray && value.ModelName != nil { - responseObjectIsCommonType = true - modelName = *value.ModelName - - if !p.models.Found(modelName) { - return nil, fmt.Errorf("nested response model %q was not found for operation: %s", modelName, operation.Name) - } else if !model.Common { - responseObjectIsCommonType = false - - if err := serviceModels.MergeDependants(p.models, modelName, false); err != nil { - return nil, err - } - } + if p.models.Found(schemaName) { + model := p.models[schemaName] + + if !model.Common { + responseObjectIsCommonType = false + serviceModels[schemaName] = model } } responseObject = &sdkModels.SDKObjectDefinition{ - ReferenceName: &modelName, + ReferenceName: pointer.To(normalize.CleanName(schemaName)), ReferenceNameIsCommonType: &responseObjectIsCommonType, Type: sdkModels.ReferenceSDKObjectDefinitionType, } @@ -282,6 +265,11 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv Type: response.Type.DataApiSdkObjectDefinitionType(), } } + + // Only one response object is currently supported by the SDK, so break here. This doesn't affect + // us right now since we already ignored error responses during parsing, and to date the specs + // have at most one "success" response per operation. + break } contentType := "application/json" @@ -310,30 +298,13 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } } - for modelName, model := range serviceModels { - sdkModel, err := model.DataApiSdkModel(p.models) + for _, model := range serviceModels { + sdkModel, err := model.DataApiSdkModel(p.models, p.constants) if err != nil { return nil, err } - sdkService.APIVersions[resource.Version].Resources[resource.Category].Models[modelName] = *sdkModel - - for _, field := range model.Fields { - if field.ConstantName != nil { - constantValues := make(map[string]string) - if constant, ok := p.constants[*field.ConstantName]; ok { - for _, value := range constant.Enum { - constantValues[normalize.CleanName(value)] = value - } - } - - // TODO support additional types, if there are any - sdkService.APIVersions[resource.Version].Resources[resource.Category].Constants[*field.ConstantName] = sdkModels.SDKConstant{ - Type: sdkModels.StringSDKConstantType, - Values: constantValues, - } - } - } + sdkService.APIVersions[resource.Version].Resources[resource.Category].Models[model.Name] = *sdkModel } } From c8778b30f165bce4a85a5aec3511e37bc3573f10 Mon Sep 17 00:00:00 2001 From: Zao Wang <122930832+zaowang-ms@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:53:49 -0700 Subject: [PATCH 093/134] Update resource-manager.hcl for nginx new version --- config/resource-manager.hcl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index c2715955b06..fd204b9d74d 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -405,7 +405,7 @@ service "newrelic" { } service "nginx" { name = "Nginx" - available = ["2023-04-01", "2023-09-01", "2024-01-01-preview"] + available = ["2023-04-01", "2023-09-01", "2024-01-01-preview", "2024-06-01-preview"] } service "notificationhubs" { name = "NotificationHubs" @@ -620,4 +620,4 @@ service "webpubsub" { service "workloads" { name = "Workloads" available = ["2023-04-01"] -} \ No newline at end of file +} From c855b5c880edb9324e13a73c01ca3b09b17eda80 Mon Sep 17 00:00:00 2001 From: Zao Wang <122930832+zaowang-ms@users.noreply.github.com> Date: Wed, 28 Aug 2024 10:57:43 -0700 Subject: [PATCH 094/134] Update resource-manager.hcl removed trailing n From 99867f6e8a2dbe34360ac87c0b3eec8b3ecff6c4 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 4 Sep 2024 21:43:12 +0100 Subject: [PATCH 095/134] importer-msgraph-metadata: explicitly flag parent models at import time to avoid expensive iteration+computation at generation time --- .../repository/internal/models/models.go | 3 +++ .../repository/internal/transforms/sdk_model.go | 6 ++++-- tools/data-api-sdk/v1/models/sdk_model.go | 5 ++++- tools/importer-msgraph-metadata/components/parser/types.go | 5 ++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/tools/data-api-repository/repository/internal/models/models.go b/tools/data-api-repository/repository/internal/models/models.go index 54af13b2126..23c77fd6c8b 100644 --- a/tools/data-api-repository/repository/internal/models/models.go +++ b/tools/data-api-repository/repository/internal/models/models.go @@ -13,6 +13,9 @@ type Model struct { // Fields is an array of fields contained in the Model Fields []ModelField `json:"fields"` + // IsParent specifies whether this model is a known parent model, typically for discriminated child models. + IsParent bool + // NOTE: If DiscriminatedParentModelName and DiscriminatedTypeValue are both populated then this Model // represents a discriminated type // DiscriminatedParentModelName contains the name of the Parent Model that this Model would implement diff --git a/tools/data-api-repository/repository/internal/transforms/sdk_model.go b/tools/data-api-repository/repository/internal/transforms/sdk_model.go index 47da9488c00..051348c0720 100644 --- a/tools/data-api-repository/repository/internal/transforms/sdk_model.go +++ b/tools/data-api-repository/repository/internal/transforms/sdk_model.go @@ -27,6 +27,7 @@ func MapSDKModelFromRepository(input repositoryModels.Model) (*sdkModels.SDKMode DiscriminatedValue: input.DiscriminatedTypeValue, FieldNameContainingDiscriminatedValue: input.TypeHintIn, Fields: fields, + IsParent: input.IsParent, ParentTypeName: input.DiscriminatedParentModelName, }, nil } @@ -42,8 +43,9 @@ func MapSDKModelToRepository(modelName string, model sdkModels.SDKModel, parentM } dataApiModel := repositoryModels.Model{ - Name: modelName, - Fields: *fields, + Name: modelName, + Fields: *fields, + IsParent: model.IsParent, } // NOTE: `Parent` types don't get a `DiscriminatedValue` diff --git a/tools/data-api-sdk/v1/models/sdk_model.go b/tools/data-api-sdk/v1/models/sdk_model.go index 35eba91b030..f57b5af8045 100644 --- a/tools/data-api-sdk/v1/models/sdk_model.go +++ b/tools/data-api-sdk/v1/models/sdk_model.go @@ -19,6 +19,9 @@ type SDKModel struct { // NOTE: the Field Name is a valid Identifier. Fields map[string]SDKField `json:"fields"` + // IsParent specifies whether this model is a known parent model, typically for discriminated child models. + IsParent bool + // ParentTypeName optionally specifies the name of the Parent Type for this Model. // If a ParentTypeName is present then this SDKModel will be a Discriminated Implementation // meaning that a TypeHintIn and TypeHintValue must also be specified in order to uniquely @@ -35,5 +38,5 @@ func (m SDKModel) IsDiscriminatedImplementation() bool { // IsDiscriminatedParentType returns whether this SDKModel is a Discriminated Parent Type. // This means that this SDKModel will have associated Discriminated Implementations. func (m SDKModel) IsDiscriminatedParentType() bool { - return m.ParentTypeName == nil && m.FieldNameContainingDiscriminatedValue != nil + return m.IsParent || (m.ParentTypeName == nil && m.FieldNameContainingDiscriminatedValue != nil) } diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 023d2d58f9a..85fda525303 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -79,6 +79,7 @@ type Model struct { Name string Fields map[string]*ModelField Common bool + Parent bool TypeField *string TypeValue *string ParentModel *string @@ -139,6 +140,7 @@ func (m *Model) DataApiSdkModel(models Models, constants Constants) (*sdkModels. return &sdkModels.SDKModel{ Fields: sdkFields, + IsParent: m.Parent, DiscriminatedValue: m.TypeValue, FieldNameContainingDiscriminatedValue: m.TypeField, ParentTypeName: parentTypeName, @@ -441,7 +443,7 @@ func ModelsAndConstants(schemas openapi3.Schemas) (Models, Constants, error) { } } - // Now iterate models and populate discriminated children + // Now iterate models, mark parent models as such and populate discriminated children for schemaName, model := range models { if model.ParentModel == nil { continue @@ -453,6 +455,7 @@ func ModelsAndConstants(schemas openapi3.Schemas) (Models, Constants, error) { } parentModel.Fields["@odata.type"].DiscriminatedValue = true + parentModel.Parent = true parentModel.TypeField = pointer.To("ODataType") model.TypeField = pointer.To("ODataType") model.TypeValue = pointer.To("#" + schemaName) From 23fa8046591fd2fd814096c01f6ce727bfedd0d1 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 4 Sep 2024 21:44:38 +0100 Subject: [PATCH 096/134] generator-go-sdk: support for parsing and generating extended model ancestry For microsoft-graph SDK, recursively traverse model ancestry and represent all relationships in the generated SDK. This involves: - Generating an interface for every parent model. - Embed (grand)parent model interfaces. - Generating a `Base{Model}Impl` struct for every parent model. - Add a method to each model interface for returning a `Base{Model}Impl` struct, which must be implemented on child model structs. - Inherit fields in model structs from all ancestors. - Adjust marshal/unmarshal methods and funcs accordingly. This enables child models to hold inherited state from any ancestors, whilst being able to return a standalone representation for any of their ancestors. This maintains current behavior when generating resource-manager SDK (traverses model ancestors until one with valid discriminator field is found, and only generates one parent->child relationship). This is controlled by a code setting, so the above new behavior can be enabled for resource-manager once the importer has been updated to represent ancestry in API definitions (not forgetting the new `IsParent` field on each model which is needed to facilitate this). --- .../generator-go-sdk/internal/cmd/generate.go | 5 + .../internal/generator/data.go | 5 + .../internal/generator/settings.go | 1 + .../internal/generator/templater_models.go | 341 +++++++++++------- 4 files changed, 231 insertions(+), 121 deletions(-) diff --git a/tools/generator-go-sdk/internal/cmd/generate.go b/tools/generator-go-sdk/internal/cmd/generate.go index c610f45a74d..6a479f29cb1 100644 --- a/tools/generator-go-sdk/internal/cmd/generate.go +++ b/tools/generator-go-sdk/internal/cmd/generate.go @@ -60,14 +60,19 @@ func (g GenerateCommand) Run(args []string) int { if g.sourceDataType == models.MicrosoftGraphSourceDataType { input.settings.GenerateDescriptionsForModels = true + input.settings.RecurseParentModels = false + input.settings.CanonicalApiVersions = map[string]string{ "stable": "v1.0", } + input.settings.VersionsToGenerateCommonTypes = map[string]models.SourceDataOrigin{ "stable": models.MicrosoftGraphMetaDataSourceDataOrigin, "beta": models.MicrosoftGraphMetaDataSourceDataOrigin, } } else if g.sourceDataType == models.ResourceManagerSourceDataType { + input.settings.RecurseParentModels = true + input.settings.UseOldBaseLayerFor( // @tombuildsstuff: New Services should now use the `hashicorp/go-azure-sdk` base layer by default // instead of the base layer from `Azure/go-autorest` - as such this list is for compatibility purposes diff --git a/tools/generator-go-sdk/internal/generator/data.go b/tools/generator-go-sdk/internal/generator/data.go index ddf14847d47..7286b8a5eee 100644 --- a/tools/generator-go-sdk/internal/generator/data.go +++ b/tools/generator-go-sdk/internal/generator/data.go @@ -80,6 +80,9 @@ type GeneratorData struct { // whether this is a data plane SDK (omits certain Resource Manager specific features, currently used in ID parsers) isDataPlane bool + // whether parent models should be traversed recursively so that the most distant ancestor is allocated as the parent + recurseParentModels bool + // development feature flag - should this service use the new transport layer from `hashicorp/go-azure-sdk` // rather than the existing Autorest base layer? useNewBaseLayer bool @@ -119,6 +122,7 @@ func (i ServiceGeneratorInput) generatorData(settings Settings) GeneratorData { models: i.ResourceDetails.Models, operations: i.ResourceDetails.Operations, packageName: resourcePackageName, + recurseParentModels: settings.RecurseParentModels, resourceIds: i.ResourceDetails.ResourceIDs, resourceOutputPath: resourceOutputPath, serviceClientName: fmt.Sprintf("%sClient", strings.Title(i.ResourceName)), @@ -169,6 +173,7 @@ func (i VersionGeneratorInput) generatorData(settings Settings) VersionGenerator isDataPlane: models.SourceDataTypeIsDataPlane(i.Type), models: i.CommonTypes.Models, packageName: versionPackageName, + recurseParentModels: settings.RecurseParentModels, servicePackageName: strings.ToLower(i.ServiceName), source: i.Source, sourceType: i.Type, diff --git a/tools/generator-go-sdk/internal/generator/settings.go b/tools/generator-go-sdk/internal/generator/settings.go index 86fefd6bde4..7aac2a46055 100644 --- a/tools/generator-go-sdk/internal/generator/settings.go +++ b/tools/generator-go-sdk/internal/generator/settings.go @@ -13,6 +13,7 @@ type Settings struct { CanonicalApiVersions map[string]string CommonTypesPackageName string GenerateDescriptionsForModels bool + RecurseParentModels bool VersionsToGenerateCommonTypes map[string]models.SourceDataOrigin servicesUsingOldBaseLayer map[string]struct{} } diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 66c89cdf5d5..8e978702802 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -67,9 +67,9 @@ func (c modelsTemplater) structCode(data GeneratorData) (*string, error) { out := "" structName := c.name - // parent models get a {model}Base struct + // parent models get a Base{model}Impl struct so as not to conflict with their interface name if c.model.IsDiscriminatedParentType() { - structName = fmt.Sprintf("%sBase", c.name) + structName = fmt.Sprintf("Base%sImpl", c.name) } fields := make([]string, 0) @@ -98,69 +98,91 @@ func (c modelsTemplater) structCode(data GeneratorData) (*string, error) { // then add any inherited fields parentAssignmentInfo := "" - parentTypeName := "" + ancestorTypeNames := make([]string, 0) if c.model.ParentTypeName != nil { + ancestorTypeNames = append(ancestorTypeNames, *c.model.ParentTypeName) if c.model.FieldNameContainingDiscriminatedValue != nil { - _, foundParentTypeName, err := c.recurseParentModels(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) + _, foundAncestorTypeNames, err := c.findModelAncestry(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) if err != nil { return nil, err } - parentTypeName = *foundParentTypeName - - } else { - parentTypeName = *c.model.ParentTypeName + ancestorTypeNames = *foundAncestorTypeNames } - parentAssignmentInfo = fmt.Sprintf("var _ %[1]s = %[2]s{}", parentTypeName, structName) - parentFields := make(map[string]models.SDKField) + // Since ancestor interfaces embed each other, we only need to satisfy the immediate parent interface + parentAssignmentInfo = fmt.Sprintf("var _ %[1]s = %[2]s{}", ancestorTypeNames[0], structName) - parent, ok := data.models[*c.model.ParentTypeName] - if !ok { - return nil, fmt.Errorf("couldn't find Parent Model %q for Model %q", *c.model.ParentTypeName, c.name) - } - for fieldName, fieldDetails := range parent.Fields { - parentFields[fieldName] = fieldDetails - } - - // Also include fields from the grandparent model - // Related to: https://github.com/hashicorp/pandora/issues/1235 - if parentTypeName != *c.model.ParentTypeName { - grandParent, ok := data.models[parentTypeName] + // We want to include fields from all ancestors, grouped by ancestor name + ancestorFields := make(map[string]map[string]models.SDKField) + for _, ancestorTypeName := range ancestorTypeNames { + parent, ok := data.models[ancestorTypeName] if !ok { - return nil, fmt.Errorf("couldn't find [Grand]Parent Model %q for Model %q", parentTypeName, c.name) + return nil, fmt.Errorf("couldn't find Ancestor Model %q for Model %q", ancestorTypeName, c.name) } - for fieldName, fieldDetails := range grandParent.Fields { - parentFields[fieldName] = fieldDetails + ancestorFields[ancestorTypeName] = make(map[string]models.SDKField) + for fieldName, fieldDetails := range parent.Fields { + ancestorFields[ancestorTypeName][fieldName] = fieldDetails } } - parentFieldNames := make([]string, 0, len(parentFields)) - for fieldName := range parentFields { - parentFieldNames = append(parentFieldNames, fieldName) - } - sort.Strings(parentFieldNames) - - if len(parentFieldNames) > 0 { - structLines = append(structLines, fmt.Sprintf("\n// Fields inherited from %s", *c.model.ParentTypeName)) - for _, fieldName := range parentFieldNames { - fieldDetails := parentFields[fieldName] - fieldTypeName := "FIXME" - fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, data.commonTypesPackageName) - if err != nil { - return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) + // Get sorted slices of ancestors' field names + ancestorFieldNames := make(map[string][]string) + for ancestorName := range ancestorFields { + ancestorFieldNames[ancestorName] = make([]string, 0, len(ancestorFields[ancestorName])) + for fieldName := range ancestorFields[ancestorName] { + ancestorFieldNames[ancestorName] = append(ancestorFieldNames[ancestorName], fieldName) + } + sort.Strings(ancestorFieldNames[ancestorName]) + } + + // Append fields from all ancestors to struct + for _, ancestorName := range ancestorTypeNames { + if len(ancestorFieldNames[ancestorName]) > 0 { + structLines = append(structLines, fmt.Sprintf("\n// Fields inherited from %s", ancestorName)) + for _, fieldName := range ancestorFieldNames[ancestorName] { + fieldDetails := ancestorFields[ancestorName][fieldName] + fieldTypeName := "FIXME" + fieldTypeVal, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, data.commonTypesPackageName) + if err != nil { + return nil, fmt.Errorf("determining type information for %q: %+v", fieldName, err) + } + fieldTypeName = *fieldTypeVal + + structLine, err := c.structLineForField(fieldName, fieldTypeName, fieldDetails, data) + if err != nil { + return nil, err + } + + structLines = append(structLines, *structLine) } - fieldTypeName = *fieldTypeVal + } + } + } - structLine, err := c.structLineForField(fieldName, fieldTypeName, fieldDetails, data) - if err != nil { - return nil, err - } + // If this is a parent model, we output an Interface with a manual unmarshal func that gets called wherever it's used + if c.model.IsDiscriminatedParentType() { + interfaceLines := make([]string, 0, len(ancestorTypeNames)+1) - structLines = append(structLines, *structLine) + // First we embed any ancestor types (in reverse ancestral order for neatness) + if len(ancestorTypeNames) > 0 { + for i := len(ancestorTypeNames) - 1; i >= 0; i-- { + interfaceLines = append(interfaceLines, ancestorTypeNames[i]) } } + + // Then we implement a method for the base type + interfaceLines = append(interfaceLines, fmt.Sprintf(`%[1]s() %[2]s`, c.name, structName)) + + // Output an interface for the parent type + out += fmt.Sprintf(` +type %[1]s interface { + %[2]s +} + +`, c.name, strings.Join(interfaceLines, "\n")) } + // Output a model struct formattedStructLines := make([]string, 0) for i, v := range structLines { if strings.HasPrefix(strings.TrimSpace(v), "//") { @@ -181,31 +203,47 @@ type %[1]s struct { } `, structName, strings.Join(formattedStructLines, "\n"), parentAssignmentInfo) - // if this is an Abstract/Type Hint, we output an Interface with a manual unmarshal func that gets called wherever it's used + parentModelFunctions, err := c.codeForParentStructFunctions(data) + if err != nil { + return nil, fmt.Errorf("generating parent model functions: %+v", err) + } + out += *parentModelFunctions + + // Parent models also get an implementation struct for use as a fallback when unmarshalling and no child type is found if c.model.IsDiscriminatedParentType() { + // Output a Raw{Type}Impl struct for use as a fallback when unmarshalling an unimplemented discriminated type + implementationStructName := fmt.Sprintf("Raw%sImpl", c.name) + out += fmt.Sprintf(` -type %[1]s interface { - %[1]s() %[1]sBase -} +var _ %[1]s = %[3]s{} -// Raw%[1]sImpl is returned when the Discriminated Value -// doesn't match any of the defined types +// %[3]s is returned when the Discriminated Value doesn't match any of the defined types // NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) // and is used only for Deserialization (e.g. this cannot be used as a Request Payload). -type Raw%[1]sImpl struct { - %[2]s %[1]sBase +type %[3]s struct { + %[2]s %[4]s Type string Values map[string]interface{} } -`, c.name, camelCase(c.name)) - - out += fmt.Sprintf(` -func (s Raw%[1]sImpl) %[1]s() %[1]sBase { +func (s %[3]s) %[1]s() %[4]s { return s.%[2]s } -`, c.name, camelCase(c.name)) +`, c.name, camelCase(c.name), implementationStructName, structName) + + // Output functions for Raw{Type}Impl to satisfy ancestor interfaces + for _, ancestorName := range ancestorTypeNames { + // the parent model we're returning will get a Base{model}Impl struct + ancestorStructName := fmt.Sprintf("Base%sImpl", ancestorName) + + out += fmt.Sprintf(` +func (s %[1]s) %[2]s() %[3]s { + return s.%[4]s.%[2]s() +} + +`, implementationStructName, ancestorName, ancestorStructName, camelCase(c.name)) + } } return &out, nil @@ -220,12 +258,6 @@ func (c modelsTemplater) methods(data GeneratorData) (*string, error) { } code = append(code, *dateFunctions) - parentModelFunctions, err := c.codeForParentStructFunctions(data) - if err != nil { - return nil, fmt.Errorf("generating parent model functions: %+v", err) - } - code = append(code, *parentModelFunctions) - marshalFunctions, err := c.codeForMarshalFunctions(data) if err != nil { return nil, fmt.Errorf("generating marshal functions: %+v", err) @@ -247,24 +279,7 @@ func (c modelsTemplater) methods(data GeneratorData) (*string, error) { func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDetails models.SDKField, data GeneratorData) (*string, error) { jsonDetails := fieldDetails.JsonName - isOptional := false - if fieldDetails.Optional { - isOptional = true - - // TODO: this'll want rolling out by Service Package (likely using the new base layer toggle, for now) - // but I'm disabling this entirely for the moment to workaround the issue. - if !featureflags.OptionalDiscriminatorsShouldBeOutputWithoutOmitEmpty { - // however if the immediate (not top-level) object definition is a Reference to a Parent it's Optional - // by default since Parent types are output as an interface (which is implied nullable) - if fieldDetails.ObjectDefinition.Type == models.ReferenceSDKObjectDefinitionType { - model, ok := data.models[*fieldDetails.ObjectDefinition.ReferenceName] - if ok && model.FieldNameContainingDiscriminatedValue != nil && model.ParentTypeName == nil { - isOptional = false - } - } - } - } - if isOptional || fieldDetails.ReadOnly { + if c.fieldIsOptional(data, fieldDetails) || fieldDetails.ReadOnly { if !strings.HasPrefix(fieldType, "nullable.") { fieldType = fmt.Sprintf("*%s", fieldType) } @@ -391,51 +406,74 @@ func (c modelsTemplater) dateFunctionForField(fieldName string, fieldDetails mod func (c modelsTemplater) codeForParentStructFunctions(data GeneratorData) (*string, error) { out := "" + structName := c.name if c.model.ParentTypeName == nil { return &out, nil } - parentTypeName := "" - structFields := make([]string, 0) + // parent models get a Base{model}Impl struct so as not to conflict with their interface name + if c.model.IsDiscriminatedParentType() { + structName = fmt.Sprintf("Base%sImpl", c.name) + } + + ancestorTypeNames := make([]string, 0) + ancestorTypeNames = append(ancestorTypeNames, *c.model.ParentTypeName) if c.model.FieldNameContainingDiscriminatedValue != nil { - _, foundParentTypeName, err := c.recurseParentModels(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) + _, foundAncestorTypeNames, err := c.findModelAncestry(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) if err != nil { return nil, err } - parentTypeName = *foundParentTypeName - - } else { - parentTypeName = *c.model.ParentTypeName + ancestorTypeNames = *foundAncestorTypeNames } - // Intentionally only setting fields from the outermost parent model - parent, ok := data.models[parentTypeName] - if !ok { - return nil, fmt.Errorf("couldn't find Parent Model %q for Model %q", *c.model.ParentTypeName, c.name) + // We want to include fields from all ancestors, grouped by ancestor name + ancestorFields := make(map[string]map[string]models.SDKField) + for _, ancestorTypeName := range ancestorTypeNames { + parent, ok := data.models[ancestorTypeName] + if !ok { + return nil, fmt.Errorf("couldn't find Ancestor Model %q for Model %q", ancestorTypeName, c.name) + } + ancestorFields[ancestorTypeName] = make(map[string]models.SDKField) + for fieldName, fieldDetails := range parent.Fields { + ancestorFields[ancestorTypeName][fieldName] = fieldDetails + } } - parentFields := make([]string, 0) - for fieldName := range parent.Fields { - parentFields = append(parentFields, fieldName) + // Get sorted slices of ancestors' field names + ancestorFieldNames := make(map[string][]string) + for ancestorName := range ancestorFields { + ancestorFieldNames[ancestorName] = make([]string, 0, len(ancestorFields[ancestorName])) + for fieldName := range ancestorFields[ancestorName] { + ancestorFieldNames[ancestorName] = append(ancestorFieldNames[ancestorName], fieldName) + } + sort.Strings(ancestorFieldNames[ancestorName]) } - sort.Strings(parentFields) - if len(parentFields) > 0 { - for _, fieldName := range parentFields { - structFields = append(structFields, fmt.Sprintf(`%[1]s: s.%[1]s,`, fieldName)) + // Output functions to satisfy ancestor interfaces + for i, ancestorName := range ancestorTypeNames { + // parent models get a Base{model}Impl struct so as not to conflict with their interface name + ancestorStructName := fmt.Sprintf("Base%sImpl", ancestorName) + ancestorStructFields := make([]string, 0) + + // Get fields from the current/next ancestor, plus any older ancestors + for j := i; j < len(ancestorTypeNames); j++ { + nextAncestorName := ancestorTypeNames[j] + for _, fieldName := range ancestorFieldNames[nextAncestorName] { + ancestorStructFields = append(ancestorStructFields, fmt.Sprintf(`%[1]s: s.%[1]s,`, fieldName)) + } } - } - out += fmt.Sprintf(` -func (s %[1]s) %[2]s() %[2]sBase { - return %[2]sBase{ - %[3]s + out += fmt.Sprintf(` +func (s %[1]s) %[2]s() %[3]s { + return %[3]s{ + %[4]s } } -`, c.name, parentTypeName, strings.Join(structFields, "\n")) +`, structName, ancestorName, ancestorStructName, strings.Join(ancestorStructFields, "\n")) + } return &out, nil } @@ -467,9 +505,9 @@ func (c modelsTemplater) codeForMarshalFunctions(data GeneratorData) (*string, e structName := c.name - // parent models get a {model}Base struct + // parent models get a Base{model}Impl struct so as not to conflict with their interface name if c.model.IsDiscriminatedParentType() { - structName = fmt.Sprintf("%sBase", c.name) + structName = fmt.Sprintf("Base%sImpl", c.name) } output += fmt.Sprintf(` @@ -484,7 +522,7 @@ func (s %[1]s) MarshalJSON() ([]byte, error) { } var decoded map[string]interface{} - if err := json.Unmarshal(encoded, &decoded); err != nil { + if err = json.Unmarshal(encoded, &decoded); err != nil { return nil, fmt.Errorf("unmarshaling %[1]s: %%+v", err) } @@ -556,6 +594,9 @@ func (c modelsTemplater) codeForUnmarshalParentFunction(data GeneratorData) (*st return &output, nil } + // parent models get a Base{model}Impl struct so as not to conflict with their interface name + structName := fmt.Sprintf("Base%sImpl", c.name) + // if this is a Discriminated Type (e.g. Parent) then we need to generate an Unmarshal{Name}Implementation // function which can be used in any usages lines := make([]string, 0) @@ -618,19 +659,19 @@ func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { // if it doesn't match - we generate and deserialize into a 'Raw{Name}Impl' type - named intentionally // so that we don't conflict with a generated 'Raw{Name}' type which exists in a handful of Swaggers + implementationStructName := fmt.Sprintf("Raw%sImpl", c.name) lines = append(lines, fmt.Sprintf(` - var parent %[1]sBase + var parent %[1]s if err := json.Unmarshal(input, &parent); err != nil { - return nil, fmt.Errorf("unmarshaling into %[1]sBase: %%+v", err) + return nil, fmt.Errorf("unmarshaling into %[1]s: %%+v", err) } - out := Raw%[1]sImpl{ - %[2]s: parent, + return %[2]s{ + %[3]s: parent, Type: value, Values: temp, - } - return out, nil -`, c.name, camelCase(c.name))) + }, nil +`, structName, implementationStructName, camelCase(c.name))) lines = append(lines, "}") @@ -641,9 +682,9 @@ func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { func (c modelsTemplater) codeForUnmarshalStructFunction(data GeneratorData) (*string, error) { structName := c.name - // parent models get a {model}Base struct + // parent models get a Base{model}Impl struct so as not to conflict with their interface name if c.model.IsDiscriminatedParentType() { - structName = fmt.Sprintf("%sBase", c.name) + structName = fmt.Sprintf("Base%sImpl", c.name) } lines := make([]string, 0) @@ -816,9 +857,14 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, structName)) }`, fieldName, *topLevelObjectDef.ReferenceName, structName, assignmentPrefix, fieldDetails.JsonName)) } - // if the field is read-only, we need to assign the pointer value assignmentPrefix := "" - if fieldDetails.ReadOnly { + fieldType, err := helpers.GolangTypeForSDKObjectDefinition(fieldDetails.ObjectDefinition, nil, data.commonTypesPackageName) + if err != nil { + return nil, err + } + + // if the field is optional, read-only, or nullable, but not a nullable type, we need to assign the pointer value + if (c.fieldIsOptional(data, fieldDetails) || fieldDetails.ReadOnly || fieldDetails.ObjectDefinition.Nullable) && !strings.HasPrefix(*fieldType, "nullable.") { assignmentPrefix = "&" } @@ -842,7 +888,43 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, structName)) return &output, nil } -// recurseParentModels walks the models hierarchy to find the parentName and field details of the model for disciminated types +// findModelAncestry walks the models hierarchy to find all ancestors of the specified model for discriminated types. +func (c modelsTemplater) findModelAncestry(data GeneratorData, parentModelName, typeHint string) (*models.SDKField, *[]string, error) { + if data.recurseParentModels { + field, model, err := c.recurseParentModels(data, parentModelName, typeHint) + if err != nil { + return nil, nil, err + } + return field, &[]string{*model}, nil + } + + parentModel, ok := data.models[parentModelName] + if !ok { + return nil, nil, fmt.Errorf("the parent model %q for model %q was not found", parentModelName, c.name) + } + + ancestors := []string{parentModelName} + var field *models.SDKField + + if parentField, ok := parentModel.Fields[typeHint]; ok { + field = &parentField + } + + if parentModel.ParentTypeName != nil { + parentField, older, err := c.findModelAncestry(data, *parentModel.ParentTypeName, typeHint) + if err != nil { + return nil, nil, err + } + if field == nil { + field = parentField + } + ancestors = append(ancestors, *older...) + } + + return field, &ancestors, nil +} + +// recurseParentModels walks the models hierarchy to find the parentName and field details of the model for discriminated types // This is a temporary measure until we update the swagger importer to connect the model fields inheritance for multiple parents. // Tracked at: https://github.com/hashicorp/pandora/issues/1235 func (c modelsTemplater) recurseParentModels(data GeneratorData, model string, typeHint string) (*models.SDKField, *string, error) { @@ -866,3 +948,20 @@ func (c modelsTemplater) recurseParentModels(data GeneratorData, model string, t return &field, &model, nil } + +func (c modelsTemplater) fieldIsOptional(data GeneratorData, fieldDetails models.SDKField) (isOptional bool) { + if fieldDetails.Optional { + isOptional = true + + // If the immediate (not top-level) object definition is a Reference to a Parent it's Optional + // by default since Parent types are output as an interface (which is implied nullable) + if fieldDetails.ObjectDefinition.Type == models.ReferenceSDKObjectDefinitionType { + model, ok := data.models[*fieldDetails.ObjectDefinition.ReferenceName] + if ok && model.FieldNameContainingDiscriminatedValue != nil && model.ParentTypeName == nil { + isOptional = false + } + } + } + + return +} From 5e92c96dfd6e87a828d066a8eef4c3e48f48eec3 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 4 Sep 2024 21:57:41 +0100 Subject: [PATCH 097/134] importer-msgraph-metadata: new! improved! method naming --- .../components/normalize/normalize_test.go | 16 ++++ .../components/parser/resourceids.go | 39 ++++++--- .../internal/pipeline/task_parse_resources.go | 86 ++++++++++++------- .../pipeline/task_translate_service.go | 2 +- 4 files changed, 96 insertions(+), 47 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize_test.go b/tools/importer-msgraph-metadata/components/normalize/normalize_test.go index 388f7d4f75c..a11404ff37d 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize_test.go +++ b/tools/importer-msgraph-metadata/components/normalize/normalize_test.go @@ -4,6 +4,7 @@ import "testing" func TestSingularize(t *testing.T) { testCases := map[string]string{ + // Plurals to be singularized "Access": "Access", "Apps": "App", "Applications": "Application", @@ -27,6 +28,13 @@ func TestSingularize(t *testing.T) { "Sortby": "Sortby", "Success": "Success", "Successes": "Success", + + // Singulars to remain the same + "Application": "Application", + "Group": "Group", + "Property": "Property", + "Ref": "Ref", + "Reference": "Reference", } for input, expected := range testCases { @@ -39,6 +47,7 @@ func TestSingularize(t *testing.T) { func TestPluralize(t *testing.T) { testCases := map[string]string{ + // Singulars to be pluralized "Access": "Accesses", "App": "Apps", "Application": "Applications", @@ -62,6 +71,13 @@ func TestPluralize(t *testing.T) { "Sortby": "Sortby", "Success": "Successes", "Successes": "Successes", + + // Plurals to remain the same + "Applications": "Applications", + "Groups": "Groups", + "Properties": "Properties", + "Refs": "Refs", + "References": "References", } for input, expected := range testCases { diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 1da8aec926a..0ea8c7283ed 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -84,7 +84,7 @@ func (r ResourceId) DataApiSdkResourceId() (*sdkModels.ResourceID, error) { case SegmentAction, SegmentCast, SegmentFunction, SegmentLabel, SegmentODataReference: sdkSegments = append(sdkSegments, sdkModels.NewStaticValueResourceIDSegment(segment.Value, segment.Value)) case SegmentUserValue: - sdkSegments = append(sdkSegments, sdkModels.NewUserSpecifiedResourceIDSegment(normalize.CleanNameCamel(*segment.Field), segment.Value)) + sdkSegments = append(sdkSegments, sdkModels.NewUserSpecifiedResourceIDSegment(normalize.CleanNameCamel(*segment.field), segment.Value)) default: return nil, fmt.Errorf("unknown segment type %q at index %d for resource ID: %q", segment.Type, i, r.Name) } @@ -160,13 +160,18 @@ func (r ResourceId) FullyQualifiedResourceName(suffixQualification *string) (*st } } - if len(r.Segments) > i+1 && r.Segments[i+1].Type == SegmentODataReference && (r.Segments[i+1].Value == "$count" || r.Segments[i+1].Value == "$ref") { - // $count and $ref indicate a plural entity (noting that this only applies when the current + if len(r.Segments) > i+1 && r.Segments[i+1].Type == SegmentODataReference && (r.Segments[i+1].Value == "$count") { + // $count indicates a plural entity (noting that this only applies when the current // segment is a label and not user-specified). shouldSingularize = false } } + // Explicitly pluralize a $ref segment when the previous segment was a label and plural + if segment.Type == SegmentODataReference && segment.Value == "$ref" && r.Segments[i-1].plural { + newName = normalize.Pluralize(newName) + } + // Note we intentionally match verbs on any segment type, not just SegmentTypeAction if v, ok := normalize.Verbs.Match(newName); ok && verb == "" { verb = *v @@ -333,7 +338,12 @@ func (r ResourceId) TruncateToLastSegmentOfTypeBeforeSegment(types []ResourceIdS type ResourceIdSegment struct { Type ResourceIdSegmentType Value string - Field *string + + // indicates the name to use when converting a SegmentUserValue to an sdkModels.ResourceIDSegment + field *string + + // indicates whether the original value for a SegmentLabel was a plural + plural bool } type ResourceIdSegmentType string @@ -371,13 +381,13 @@ func NewResourceId(path string, tags []string) (id ResourceId) { segment = ResourceIdSegment{ Type: SegmentUserValue, Value: fmt.Sprintf("{%s}", value), - Field: &field, + field: &field, } } else if strings.Contains(s, "(") { segment = ResourceIdSegment{ Type: SegmentFunction, Value: s, - Field: nil, + field: nil, } } else if strings.HasPrefix(strings.ToLower(s), "microsoft.graph.") || strings.HasPrefix(strings.ToLower(s), "graph.") { if tagSuffix(".actions") { @@ -394,38 +404,39 @@ func NewResourceId(path string, tags []string) (id ResourceId) { segment = ResourceIdSegment{ Type: SegmentAction, Value: value, - Field: nil, + field: nil, } } else { segment = ResourceIdSegment{ Type: SegmentCast, Value: s, - Field: nil, + field: nil, } } } else if strings.HasPrefix(s, "$") { segment = ResourceIdSegment{ Type: SegmentODataReference, Value: s, - Field: nil, + field: nil, } } else if i == len(segments)-1 && tagSuffix(".actions") { segment = ResourceIdSegment{ Type: SegmentAction, Value: s, - Field: nil, + field: nil, } } else if i == len(segments)-1 && tagSuffix(".functions") { segment = ResourceIdSegment{ Type: SegmentFunction, Value: s, - Field: nil, + field: nil, } } else { segment = ResourceIdSegment{ - Type: SegmentLabel, - Value: s, - Field: nil, + Type: SegmentLabel, + Value: s, + field: nil, + plural: normalize.Pluralize(s) == s, } } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index 03600e7dfd9..1c046bd4582 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -63,6 +63,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model continue } + // Determine the resource name resourceName := "" if r, ok := parsedPath.FullyQualifiedResourceName(pointer.To(parser.ResourceSuffix)); ok { resourceName = *r @@ -101,38 +102,41 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model resources[resourceName].Paths = append(resources[resourceName].Paths, parsedPath) } - for method, operation := range operations { - if !tags.Matches(p.service, operation.Tags) { - continue + // Determine resource ID and/or URI suffix + var resourceId *parser.ResourceId + var uriSuffix *string + match, ok := resourceIds.MatchIdOrAncestor(parsedPath) + if ok { + if match.Id != nil { + resourceId = match.Id } - - // Determine resource ID and/or URI suffix - var resourceId *parser.ResourceId - var uriSuffix *string - match, ok := resourceIds.MatchIdOrAncestor(parsedPath) - if ok { - if match.Id != nil { - resourceId = match.Id + if match.Remainder != nil && len(match.Remainder.Segments) > 0 { + uriSuffix = pointer.To(match.Remainder.ID()) + + // When last segment is not a label (e.g. an action, function or cast), adopt the parent resource category, + // but only if the suffix has one segment, else this could indicate a different parent, in which case + // we'll attempt a match after parsing all resources. + if resourceCategory == "" && len(match.Remainder.Segments) == 1 && + (match.Remainder.Segments[0].Type == parser.SegmentAction || match.Remainder.Segments[0].Type == parser.SegmentCast || match.Remainder.Segments[0].Type == parser.SegmentFunction) { + resourceCategory = parsedPath.ID() } - if match.Remainder != nil && len(match.Remainder.Segments) > 0 { - uriSuffix = pointer.To(match.Remainder.ID()) - - // When last segment is not a label (e.g. an action, function or cast), adopt the parent resource category, - // but only if the suffix has one segment, else this could indicate a different parent, in which case - // we'll attempt a match after parsing all resources. - if resourceCategory == "" && strings.Count(*uriSuffix, "/") == 1 { - resourceCategory = resourceId.Name - } - } - } else { - uriSuffix = &path } + } else { + uriSuffix = pointer.To(parsedPath.ID()) + } - if uriSuffix != nil { - if uriSuffixParsed := parser.NewResourceId(*uriSuffix, operationTags); uriSuffixParsed.HasUserValue() { - logging.Infof(fmt.Sprintf("Skipping URI suffix containing user value in resource %q (category %q, service %q, version %q): %q", resourceName, resourceCategory, p.service, p.apiVersion, *uriSuffix)) - continue - } + // Skip this path when the uriSuffix contains a user-specified value. This should ordinarily not occur, but + // can happen when no parent resource ID has been matched, for example if a resource ID was blacklisted. + if uriSuffix != nil { + if uriSuffixParsed := parser.NewResourceId(*uriSuffix, operationTags); uriSuffixParsed.HasUserValue() { + logging.Infof(fmt.Sprintf("Skipping URI suffix containing user value in resource %q (category %q, service %q, version %q): %q", resourceName, resourceCategory, p.service, p.apiVersion, *uriSuffix)) + continue + } + } + + for method, operation := range operations { + if !tags.Matches(p.service, operation.Tags) { + continue } listOperation := false @@ -291,25 +295,38 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model paginationField = pointer.To("@odata.nextLink") } - // Skip unknown operations + // Skip unknown operation types if operationType == parser.OperationTypeUnknown { logging.Warnf(fmt.Sprintf("Skipping unknown operation type for %q: %v", p.service, path)) continue } + // Determine the base name of the operation, attempting to trim a leading service name since that is redundant operationName := "" - prefixToTrim := normalize.Singularize(normalize.CleanName(p.service)) + prefixesToTrim := []string{ + normalize.CleanName(p.service), + normalize.Singularize(normalize.CleanName(p.service)), + } if resourceId != nil && uriSuffix == nil { - prefixToTrim = fmt.Sprintf("%s%s", prefixToTrim, parser.ResourceSuffix) + for i := range prefixesToTrim { + prefixesToTrim[i] = fmt.Sprintf("%s%s", prefixesToTrim[i], parser.ResourceSuffix) + } + } + shortResourceName := resourceName + for _, prefixToTrim := range prefixesToTrim { + shortResourceName = strings.TrimPrefix(shortResourceName, prefixToTrim) } - shortResourceName := strings.TrimPrefix(resourceName, prefixToTrim) operationName = shortResourceName if len(operationName) == 0 { operationName = resourceName } + // Now qualify the operation name based on the type of operation. Additionally, if the operation name + // matches a known verb, move that verb to the beginning and use it instead of a standard verb. + // For example, a Create operation for "Application" should get an operation name of "CreateApplication", + // but a Create operation for "ApplicationTemplateInstantiate" should get an operation name of "InstantiateApplicationTemplate" switch operationType { case parser.OperationTypeList: if _, ok = normalize.Verbs.Match(shortResourceName); ok { @@ -317,8 +334,10 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } else { operationName = fmt.Sprintf("List%s", normalize.Pluralize(normalize.Singularize(operationName))) } + case parser.OperationTypeRead: operationName = fmt.Sprintf("Get%s", normalize.Singularize(operationName)) + case parser.OperationTypeCreate: if _, ok = normalize.Verbs.Match(shortResourceName); ok { operationName = normalize.Singularize(operationName) @@ -327,10 +346,13 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } else { operationName = fmt.Sprintf("Create%s", normalize.Singularize(operationName)) } + case parser.OperationTypeCreateUpdate: operationName = fmt.Sprintf("CreateUpdate%s", normalize.Singularize(operationName)) + case parser.OperationTypeUpdate: operationName = fmt.Sprintf("Update%s", normalize.Singularize(operationName)) + case parser.OperationTypeDelete: if lastSegment.Type == parser.SegmentODataReference { operationName = fmt.Sprintf("Remove%s", normalize.Singularize(operationName)) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index ea56c2d6697..92175668474 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -30,7 +30,7 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv continue } - // First scaffold the version and resources (categories) + // First scaffold the version and SDK resources (categories) if _, ok := sdkService.APIVersions[resource.Version]; !ok { sdkService.APIVersions[resource.Version] = sdkModels.APIVersion{ APIVersion: resource.Version, From 230f9a9fc5556aefef8663496229b5e1af4cd278 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Wed, 4 Sep 2024 22:14:44 +0100 Subject: [PATCH 098/134] generator-go-sdk: update test fixtures --- .../templater_models_discriminators_test.go | 40 +++++++++---------- .../generator/templater_models_test.go | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go index 825153f7542..f9fb6f4baae 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go @@ -75,29 +75,30 @@ import ( // acctests licence placeholder -type ModeOfTransitBase struct { - Type string ''json:"type"'' +type ModeOfTransit interface { + ModeOfTransit() BaseModeOfTransitImpl } -type ModeOfTransit interface { - ModeOfTransit() ModeOfTransitBase +type BaseModeOfTransitImpl struct { + Type string ''json:"type"'' } -// RawModeOfTransitImpl is returned when the Discriminated Value -// doesn't match any of the defined types +var _ ModeOfTransit = RawModeOfTransitImpl{} + +// RawModeOfTransitImpl is returned when the Discriminated Value doesn't match any of the defined types // NOTE: this should only be used when a type isn't defined for this type of Object (as a workaround) // and is used only for Deserialization (e.g. this cannot be used as a Request Payload). type RawModeOfTransitImpl struct { - modeOfTransit ModeOfTransitBase + modeOfTransit BaseModeOfTransitImpl Type string Values map[string]interface{} } -func (s RawModeOfTransitImpl) ModeOfTransit() ModeOfTransitBase { +func (s RawModeOfTransitImpl) ModeOfTransit() BaseModeOfTransitImpl { return s.modeOfTransit } -func unmarshalModeOfTransitImplementation(input []byte) (ModeOfTransit, error) { +func UnmarshalModeOfTransitImplementation(input []byte) (ModeOfTransit, error) { if input == nil { return nil, nil } @@ -128,17 +129,16 @@ func unmarshalModeOfTransitImplementation(input []byte) (ModeOfTransit, error) { return out, nil } - var parent ModeOfTransitBase + var parent BaseModeOfTransitImpl if err := json.Unmarshal(input, &parent); err != nil { - return nil, fmt.Errorf("unmarshaling into ModeOfTransitBase: %+v", err) + return nil, fmt.Errorf("unmarshaling into BaseModeOfTransitImpl: %+v", err) } - out := RawModeOfTransitImpl{ + return RawModeOfTransitImpl{ modeOfTransit: parent, Type: value, Values: temp, - } - return out, nil + }, nil } `, "''", "`") assertTemplatedCodeMatches(t, expected, *actual) @@ -246,8 +246,8 @@ type Train struct { Type string ''json:"type"'' } -func (s Train) ModeOfTransit() ModeOfTransitBase { - return ModeOfTransitBase{ +func (s Train) ModeOfTransit() BaseModeOfTransitImpl { + return BaseModeOfTransitImpl{ Name: s.Name, Type: s.Type, } @@ -264,7 +264,7 @@ func (s Train) MarshalJSON() ([]byte, error) { } var decoded map[string]interface{} - if err := json.Unmarshal(encoded, &decoded); err != nil { + if err = json.Unmarshal(encoded, &decoded); err != nil { return nil, fmt.Errorf("unmarshaling Train: %+v", err) } decoded["type"] = "train" @@ -485,8 +485,8 @@ type FirstImplementation struct { Type string ''json:"type"'' } -func (s FirstImplementation) First() FirstBase { - return FirstBase{ +func (s FirstImplementation) First() BaseFirstImpl { + return BaseFirstImpl{ Type: s.Type, } } @@ -502,7 +502,7 @@ func (s FirstImplementation) MarshalJSON() ([]byte, error) { } var decoded map[string]interface{} - if err := json.Unmarshal(encoded, &decoded); err != nil { + if err = json.Unmarshal(encoded, &decoded); err != nil { return nil, fmt.Errorf("unmarshaling FirstImplementation: %+v", err) } decoded["type"] = "first" diff --git a/tools/generator-go-sdk/internal/generator/templater_models_test.go b/tools/generator-go-sdk/internal/generator/templater_models_test.go index 763ca656fba..5ed08617cb7 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_test.go @@ -370,7 +370,7 @@ func (s Example) MarshalJSON() ([]byte, error) { } var decoded map[string]interface{} - if err := json.Unmarshal(encoded, &decoded); err != nil { + if err = json.Unmarshal(encoded, &decoded); err != nil { return nil, fmt.Errorf("unmarshaling Example: %+v", err) } From 7a2417e0ae693ff2ee82f8c6c93605a99ad1cb27 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 5 Sep 2024 00:03:45 +0100 Subject: [PATCH 099/134] importer-msgraph-metadata: fix clobbering bug in method names for delete operations --- .../components/parser/resourceids.go | 1 + .../internal/pipeline/task_parse_resources.go | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 0ea8c7283ed..c0733caa4dc 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -170,6 +170,7 @@ func (r ResourceId) FullyQualifiedResourceName(suffixQualification *string) (*st // Explicitly pluralize a $ref segment when the previous segment was a label and plural if segment.Type == SegmentODataReference && segment.Value == "$ref" && r.Segments[i-1].plural { newName = normalize.Pluralize(newName) + shouldSingularize = false } // Note we intentionally match verbs on any segment type, not just SegmentTypeAction diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index 1c046bd4582..d502cbb7b08 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -355,9 +355,9 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model case parser.OperationTypeDelete: if lastSegment.Type == parser.SegmentODataReference { - operationName = fmt.Sprintf("Remove%s", normalize.Singularize(operationName)) + operationName = fmt.Sprintf("Remove%s", operationName) } else { - operationName = fmt.Sprintf("Delete%s", normalize.Singularize(operationName)) + operationName = fmt.Sprintf("Delete%s", operationName) } } From bd2b9e88cb569e049fc0adf2a62fc60a2b923935 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 5 Sep 2024 00:44:49 +0100 Subject: [PATCH 100/134] generator-go-sdk: `Base{Model}Impl` structs should implement their own model interface --- .../internal/generator/templater_models.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 8e978702802..0fcf91b2aab 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -182,7 +182,7 @@ type %[1]s interface { `, c.name, strings.Join(interfaceLines, "\n")) } - // Output a model struct + // Format the model struct field lines formattedStructLines := make([]string, 0) for i, v := range structLines { if strings.HasPrefix(strings.TrimSpace(v), "//") { @@ -196,6 +196,12 @@ type %[1]s interface { formattedStructLines = append(formattedStructLines, v) } + // When the struct name doesn't match the model name, the struct should implement the model interface + if structName != c.name { + parentAssignmentInfo = fmt.Sprintf("var _ %[1]s = %[2]s{}", c.name, structName) + } + + // Output the model struct out += fmt.Sprintf(` %[3]s type %[1]s struct { @@ -203,6 +209,16 @@ type %[1]s struct { } `, structName, strings.Join(formattedStructLines, "\n"), parentAssignmentInfo) + // When the struct name doesn't match the model name, output a method to satisfy the model interface + if structName != c.name { + out += fmt.Sprintf(` + +func (s %[1]s) %[2]s() %[1]s { + return s +} +`, structName, c.name) + } + parentModelFunctions, err := c.codeForParentStructFunctions(data) if err != nil { return nil, fmt.Errorf("generating parent model functions: %+v", err) From 483014afab9ce6c440d0cb851babcd631ef75d98 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 5 Sep 2024 14:40:27 +0100 Subject: [PATCH 101/134] importer-msgraph-metadata: ensure leading service name is trimmed from operation names when using a recognised verb --- .../components/normalize/normalize.go | 75 +++++-------------- .../components/normalize/verbs.go | 43 +++++++++++ .../internal/pipeline/task_parse_resources.go | 10 ++- 3 files changed, 71 insertions(+), 57 deletions(-) create mode 100644 tools/importer-msgraph-metadata/components/normalize/verbs.go diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize.go b/tools/importer-msgraph-metadata/components/normalize/normalize.go index b9f069115ff..349377d0787 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize.go +++ b/tools/importer-msgraph-metadata/components/normalize/normalize.go @@ -4,7 +4,6 @@ package normalize import ( - "fmt" "regexp" "strings" @@ -13,6 +12,22 @@ import ( "golang.org/x/text/language" ) +type plural struct { + singular string + plural string +} + +var pluralExceptions = []plural{ + {"By", "By"}, + {"Cache", "Caches"}, + {"Compatibility", "Compatibility"}, + {"Data", "Data"}, + {"Metadata", "Metadata"}, + {"Orderby", "Orderby"}, + {"Premise", "Premises"}, + {"Sortby", "Sortby"}, +} + func Singularize(name string) string { for _, v := range pluralExceptions { if name == v.plural { @@ -64,7 +79,7 @@ func CleanName(name string) string { // Innererror should be InnerError name = regexp.MustCompile("^Innererror").ReplaceAllString(name, "InnerError") - // Ip[A-Zv] should be IP[A-Zv] + // Ip[A-Zv] should be IP[A-Zv] (e.g. IpAddress, Ipv6) name = regexp.MustCompile("Ip([A-Zv])").ReplaceAllString(name, "IP${1}") // Cidr should be CIDR @@ -79,6 +94,9 @@ func CleanName(name string) string { // Orderby should be OrderBy name = regexp.MustCompile("^Orderby").ReplaceAllString(name, "OrderBy") + // Sortby should be SortBy + name = regexp.MustCompile("^Sortby").ReplaceAllString(name, "SortBy") + // (trailing) ID should be Id for compatibility with Go SDK generator name = regexp.MustCompile("([a-z])ID$").ReplaceAllString(name, "${1}Id") @@ -89,56 +107,3 @@ func CleanNameCamel(name string) string { name = CleanName(name) return strings.ToLower(name[0:1]) + name[1:] } - -type operationVerbs []string - -func (ov operationVerbs) Match(operation string) (*string, bool) { - for _, v := range ov { - if regexp.MustCompile(fmt.Sprintf("^%s$", v)).MatchString(operation) { - return &v, true - } - if regexp.MustCompile(fmt.Sprintf("^%s[A-Z]", v)).MatchString(operation) { - return &v, true - } - } - return nil, false -} - -var Verbs = operationVerbs{ - "Acquire", - "Add", - "Assign", - "Check", - "Discover", - "Get", - "Instantiate", - "Parse", - "Pause", - "Provision", - "Remove", - "Renew", - "Restart", - "Restore", - "Set", - "Start", - "Stop", - "Unset", - "Update", - "Validate", -} - -type plural struct { - singular string - plural string -} - -var pluralExceptions = []plural{ - {"By", "By"}, - {"Compatibility", "Compatibility"}, - {"Cache", "Caches"}, - {"Data", "Data"}, - {"Metadata", "Metadata"}, - {"Orderby", "Orderby"}, - {"Premise", "Premises"}, - {"Sortby", "Sortby"}, -} diff --git a/tools/importer-msgraph-metadata/components/normalize/verbs.go b/tools/importer-msgraph-metadata/components/normalize/verbs.go new file mode 100644 index 00000000000..0a8392aa08e --- /dev/null +++ b/tools/importer-msgraph-metadata/components/normalize/verbs.go @@ -0,0 +1,43 @@ +package normalize + +import ( + "fmt" + "regexp" +) + +type operationVerbs []string + +func (ov operationVerbs) Match(operation string) (*string, bool) { + for _, v := range ov { + if regexp.MustCompile(fmt.Sprintf("^%s$", v)).MatchString(operation) { + return &v, true + } + if regexp.MustCompile(fmt.Sprintf("^%s[A-Z]", v)).MatchString(operation) { + return &v, true + } + } + return nil, false +} + +var Verbs = operationVerbs{ + "Acquire", + "Add", + "Assign", + "Check", + "Discover", + "Get", + "Instantiate", + "Parse", + "Pause", + "Provision", + "Remove", + "Renew", + "Restart", + "Restore", + "Set", + "Start", + "Stop", + "Unset", + "Update", + "Validate", +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index d502cbb7b08..6405fdf1231 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -301,7 +301,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model continue } - // Determine the base name of the operation, attempting to trim a leading service name since that is redundant + // Determine the base name of the operation, whilst attempting to trim a leading service name since that is redundant operationName := "" prefixesToTrim := []string{ @@ -313,9 +313,15 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model prefixesToTrim[i] = fmt.Sprintf("%s%s", prefixesToTrim[i], parser.ResourceSuffix) } } + shortResourceName := resourceName for _, prefixToTrim := range prefixesToTrim { - shortResourceName = strings.TrimPrefix(shortResourceName, prefixToTrim) + if verb, ok := normalize.Verbs.Match(shortResourceName); ok { + // resource name starts with a standard verb, so remove it before trimming a prefix + shortResourceName = *verb + strings.TrimPrefix(strings.TrimPrefix(shortResourceName, *verb), prefixToTrim) + } else { + shortResourceName = strings.TrimPrefix(shortResourceName, prefixToTrim) + } } operationName = shortResourceName From ff34b34bfa941f26778682ac00f4e7ecf0bcb1a3 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 5 Sep 2024 14:44:59 +0100 Subject: [PATCH 102/134] generator-go-sdk: update test fixtures --- .../generator/templater_models_discriminators_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go index f9fb6f4baae..4daf25c2f9a 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go @@ -79,10 +79,16 @@ type ModeOfTransit interface { ModeOfTransit() BaseModeOfTransitImpl } +var _ ModeOfTransit = BaseModeOfTransitImpl{} + type BaseModeOfTransitImpl struct { Type string ''json:"type"'' } +func (s BaseModeOfTransitImpl) ModeOfTransit() BaseModeOfTransitImpl { + return s +} + var _ ModeOfTransit = RawModeOfTransitImpl{} // RawModeOfTransitImpl is returned when the Discriminated Value doesn't match any of the defined types From 6cef487cad7b726a9941b7c9d6f68e4abe3a1f69 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 5 Sep 2024 23:45:43 +0100 Subject: [PATCH 103/134] importer-msgraph-metadata: add service workaround to add missing GET method for synchronization secrets --- .../workarounds/workaround_application.go | 2 +- .../workaround_conditionalaccesspolicy.go | 2 +- .../workarounds/workaround_odata_bind.go | 2 +- ...rkaround_repeating_resource_id_segments.go | 2 +- .../workaround_synchronizationsecrets.go | 78 +++++++++++++++++++ .../components/workarounds/workarounds.go | 30 ++++++- .../internal/pipeline/importer.go | 6 +- 7 files changed, 116 insertions(+), 6 deletions(-) create mode 100644 tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go index 4df7fed50c7..8d288436b96 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_application.go @@ -11,7 +11,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" ) -var _ workaround = workaroundApplication{} +var _ dataWorkaround = workaroundApplication{} // workaroundApplication works around missing fields in the Application model for the beta API. // 1. Missing `oauth2RequirePostResponse` field. diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go index 86c1b584267..fea8279da61 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" ) -var _ workaround = workaroundConditionalAccessPolicy{} +var _ dataWorkaround = workaroundConditionalAccessPolicy{} // workaroundConditionalAccessPolicy adds missing fields and fixes some field types. type workaroundConditionalAccessPolicy struct{} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go index 79bbcc53723..f8ed087bc4a 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go @@ -13,7 +13,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) -var _ workaround = workaroundODataBind{} +var _ dataWorkaround = workaroundODataBind{} // workaroundODataBind inserts an `@odata.bind` field where a field or collection refers to a DirectoryObject. The // OpenAPI spec unfortunately does not document relationships between entities. diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go index afbdc577aa7..b7e4136e0a3 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go @@ -8,7 +8,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) -var _ workaround = workaroundRepeatingResourceIdSegments{} +var _ dataWorkaround = workaroundRepeatingResourceIdSegments{} // workaroundRepeatingResourceIdSegments removes incompatible resource IDs due to repeating segments which are not supported at this time. type workaroundRepeatingResourceIdSegments struct{} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go new file mode 100644 index 00000000000..76a552b2c80 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go @@ -0,0 +1,78 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package workarounds + +import ( + "fmt" + "net/http" + + "github.com/hashicorp/go-azure-helpers/lang/pointer" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" + "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" +) + +var _ serviceWorkaround = workaroundSynchronizationSecrets{} + +// workaroundSynchronizationSecrets adds a missing GET method for synchronization secrets, which is absent from upstream specs. +type workaroundSynchronizationSecrets struct{} + +func (workaroundSynchronizationSecrets) Name() string { + return "Synchronization Secrets / add missing get method" +} + +func (workaroundSynchronizationSecrets) Process(apiVersion, serviceName string, resources parser.Resources, resourceIds parser.ResourceIds) error { + serviceNamesToPaths := map[string]string{ + "servicePrincipals": "/servicePrincipals/{servicePrincipal-id}/synchronization/secrets", + } + + for serviceNameToMatch, path := range serviceNamesToPaths { + if serviceNameToMatch != serviceName { + return nil + } + + resourceName := fmt.Sprintf("%sSynchronizationSecret", normalize.Singularize(normalize.CleanName(serviceName))) + resource, ok := resources[resourceName] + if !ok { + return fmt.Errorf("%q was not found for the service %q", resourceName, serviceName) + } + + tags := []string{serviceName + ".synchronization"} + + var resourceId *parser.ResourceId + var uriSuffix *string + + parsedPath := parser.NewResourceId(path, tags) + match, ok := resourceIds.MatchIdOrAncestor(parsedPath) + if ok { + if match.Id != nil { + resourceId = match.Id + } + if match.Remainder != nil && len(match.Remainder.Segments) > 0 { + uriSuffix = pointer.To(match.Remainder.ID()) + } + } else { + uriSuffix = pointer.To(parsedPath.ID()) + } + + resource.Operations = append(resource.Operations, parser.Operation{ + Name: "GetSynchronizationSecret", + Description: "Retrieve synchronization secrets.", + Type: parser.OperationTypeRead, + Method: http.MethodGet, + ResourceId: resourceId, + UriSuffix: uriSuffix, + Responses: parser.Responses{ + { + Status: http.StatusOK, + ContentType: pointer.To("application/json"), + ReferenceName: pointer.To("microsoft.graph.synchronizationSecret"), + Type: pointer.To(parser.DataTypeReference), + }, + }, + Tags: tags, + }) + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index be9f0d1d827..305d5061cd6 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) -var workarounds = []workaround{ +var workarounds = []dataWorkaround{ workaroundODataBind{}, workaroundRepeatingResourceIdSegments{}, @@ -18,14 +18,29 @@ var workarounds = []workaround{ workaroundConditionalAccessPolicy{}, } +var serviceWorkarounds = []serviceWorkaround{ + workaroundSynchronizationSecrets{}, +} + type workaround interface { // Name returns the Service Name and associated Pull Request number Name() string +} + +type dataWorkaround interface { + workaround // Process performs any necessary fixes to constants, models and/or resource IDs Process(string, parser.Models, parser.Constants, parser.ResourceIds) error } +type serviceWorkaround interface { + workaround + + // Process performs any necessary fixes to resources + Process(string, string, parser.Resources, parser.ResourceIds) error +} + // ApplyWorkarounds invokes the specified workarounds for models, constants and resource func ApplyWorkarounds(apiVersion string, models parser.Models, constants parser.Constants, resourceIds parser.ResourceIds) error { logging.Tracef("Processing Data Workarounds..") @@ -38,3 +53,16 @@ func ApplyWorkarounds(apiVersion string, models parser.Models, constants parser. return nil } + +// ApplyWorkaroundsForService invokes the specified workarounds for a given service +func ApplyWorkaroundsForService(apiVersion, serviceName string, resources parser.Resources, resourceIds parser.ResourceIds) error { + logging.Tracef("Processing Service Workarounds for %s..", serviceName) + for _, fix := range serviceWorkarounds { + logging.Tracef("Applying Service Workaround %q", fix.Name()) + if err := fix.Process(apiVersion, serviceName, resources, resourceIds); err != nil { + return fmt.Errorf("applying Service Workaround %q: %v", fix.Name(), err) + } + } + + return nil +} diff --git a/tools/importer-msgraph-metadata/internal/pipeline/importer.go b/tools/importer-msgraph-metadata/internal/pipeline/importer.go index ae2bfcfe3a7..5eaeef31a63 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/importer.go @@ -161,7 +161,10 @@ func (p pipelineForService) RunImport() error { return nil } - p.resources[p.service] = resources + // Apply workarounds + if err = workarounds.ApplyWorkaroundsForService(p.apiVersion, p.service, resources, p.resourceIds); err != nil { + return err + } // Consistency checks for discovered resources for resourceName, resource := range resources { @@ -177,6 +180,7 @@ func (p pipelineForService) RunImport() error { } } + p.resources[p.service] = resources return nil } From e1126b99ceef4130f48bb4aabdf5cf1bce721e99 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 6 Sep 2024 01:03:21 +0100 Subject: [PATCH 104/134] importer-msgraph-metadata: fix up response model for synchronization secrets service workaround --- .../workaround_synchronizationsecrets.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go index 76a552b2c80..2a93d4276af 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go @@ -56,17 +56,18 @@ func (workaroundSynchronizationSecrets) Process(apiVersion, serviceName string, } resource.Operations = append(resource.Operations, parser.Operation{ - Name: "GetSynchronizationSecret", - Description: "Retrieve synchronization secrets.", - Type: parser.OperationTypeRead, - Method: http.MethodGet, - ResourceId: resourceId, - UriSuffix: uriSuffix, + Name: "ListSynchronizationSecrets", + Description: "Retrieve synchronization secrets.", + Type: parser.OperationTypeList, + Method: http.MethodGet, + PaginationField: pointer.To("@odata.nextLink"), + ResourceId: resourceId, + UriSuffix: uriSuffix, Responses: parser.Responses{ { Status: http.StatusOK, ContentType: pointer.To("application/json"), - ReferenceName: pointer.To("microsoft.graph.synchronizationSecret"), + ReferenceName: pointer.To("microsoft.graph.synchronizationSecretKeyStringValuePair"), Type: pointer.To(parser.DataTypeReference), }, }, From 7ae5b07198d64951e5f8329aeff5bfb651a650c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 07:38:15 +0000 Subject: [PATCH 105/134] build(deps): bump submodules/rest-api-specs from `eea7584` to `b9e65c8` Bumps [submodules/rest-api-specs](https://github.com/Azure/azure-rest-api-specs) from `eea7584` to `b9e65c8`. - [Release notes](https://github.com/Azure/azure-rest-api-specs/releases) - [Commits](https://github.com/Azure/azure-rest-api-specs/compare/eea7584434f9225cad0327d83d5c6d84257a4d7d...b9e65c8997ce097af3f773a48d2ea2e0535f3cca) --- updated-dependencies: - dependency-name: submodules/rest-api-specs dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- submodules/rest-api-specs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/rest-api-specs b/submodules/rest-api-specs index eea7584434f..b9e65c8997c 160000 --- a/submodules/rest-api-specs +++ b/submodules/rest-api-specs @@ -1 +1 @@ -Subproject commit eea7584434f9225cad0327d83d5c6d84257a4d7d +Subproject commit b9e65c8997ce097af3f773a48d2ea2e0535f3cca From 962737c83765f5a9f0fd3cdf1e9edd0dbc406c9f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 6 Sep 2024 13:06:28 +0100 Subject: [PATCH 106/134] importer-msgraph-metadata: add some more verbs found in `user` package --- .../components/normalize/verbs.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/normalize/verbs.go b/tools/importer-msgraph-metadata/components/normalize/verbs.go index 0a8392aa08e..baf6365803e 100644 --- a/tools/importer-msgraph-metadata/components/normalize/verbs.go +++ b/tools/importer-msgraph-metadata/components/normalize/verbs.go @@ -23,21 +23,32 @@ var Verbs = operationVerbs{ "Acquire", "Add", "Assign", + "Change", "Check", "Discover", + "Export", + "Find", "Get", "Instantiate", + "Invoke", + "Issue", "Parse", "Pause", + "Process", "Provision", "Remove", "Renew", "Restart", "Restore", + "Retry", + "Revoke", "Set", + "Send", "Start", "Stop", + "Translate", "Unset", "Update", "Validate", + "Wipe", } From e67b869694832a8e85f52beb538cb3038c0e100f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 6 Sep 2024 18:15:43 +0100 Subject: [PATCH 107/134] importer-msgraph-metadata: fix singularization & verb handling bugs, improve performance, add tests --- .../normalize/{normalize.go => cleanname.go} | 46 ----------- .../components/normalize/cleanname_test.go | 18 +++++ .../components/normalize/plurals.go | 63 +++++++++++++++ .../{normalize_test.go => plurals_test.go} | 76 ++++++++++++------- .../components/normalize/verbs.go | 76 +++++++++++++++---- .../components/normalize/verbs_test.go | 63 +++++++++++++++ 6 files changed, 254 insertions(+), 88 deletions(-) rename tools/importer-msgraph-metadata/components/normalize/{normalize.go => cleanname.go} (70%) create mode 100644 tools/importer-msgraph-metadata/components/normalize/cleanname_test.go create mode 100644 tools/importer-msgraph-metadata/components/normalize/plurals.go rename tools/importer-msgraph-metadata/components/normalize/{normalize_test.go => plurals_test.go} (54%) create mode 100644 tools/importer-msgraph-metadata/components/normalize/verbs_test.go diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize.go b/tools/importer-msgraph-metadata/components/normalize/cleanname.go similarity index 70% rename from tools/importer-msgraph-metadata/components/normalize/normalize.go rename to tools/importer-msgraph-metadata/components/normalize/cleanname.go index 349377d0787..676d3b2253c 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize.go +++ b/tools/importer-msgraph-metadata/components/normalize/cleanname.go @@ -1,59 +1,13 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - package normalize import ( "regexp" "strings" - "github.com/gertd/go-pluralize" "golang.org/x/text/cases" "golang.org/x/text/language" ) -type plural struct { - singular string - plural string -} - -var pluralExceptions = []plural{ - {"By", "By"}, - {"Cache", "Caches"}, - {"Compatibility", "Compatibility"}, - {"Data", "Data"}, - {"Metadata", "Metadata"}, - {"Orderby", "Orderby"}, - {"Premise", "Premises"}, - {"Sortby", "Sortby"}, -} - -func Singularize(name string) string { - for _, v := range pluralExceptions { - if name == v.plural { - return v.singular - } - } - - client := pluralize.NewClient() - output := client.Singular(name) - - return output -} - -func Pluralize(name string) string { - for _, v := range pluralExceptions { - if name == v.singular { - return v.plural - } - } - - client := pluralize.NewClient() - output := client.Plural(name) - - return output -} - func CleanName(name string) string { if name == "" { return name diff --git a/tools/importer-msgraph-metadata/components/normalize/cleanname_test.go b/tools/importer-msgraph-metadata/components/normalize/cleanname_test.go new file mode 100644 index 00000000000..9419ef22bf8 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/normalize/cleanname_test.go @@ -0,0 +1,18 @@ +package normalize + +import "testing" + +func TestCleanName(t *testing.T) { + testCases := map[string]string{ + "CloudPc": "CloudPC", + "Ref": "Ref", + "Reference": "Reference", + } + + for input, expected := range testCases { + result := CleanName(input) + if result != expected { + t.Errorf("CleanName(%q): got %q, expected %q", input, result, expected) + } + } +} diff --git a/tools/importer-msgraph-metadata/components/normalize/plurals.go b/tools/importer-msgraph-metadata/components/normalize/plurals.go new file mode 100644 index 00000000000..903b7b2c51d --- /dev/null +++ b/tools/importer-msgraph-metadata/components/normalize/plurals.go @@ -0,0 +1,63 @@ +package normalize + +import ( + "fmt" + "regexp" + + "github.com/gertd/go-pluralize" +) + +type plural struct { + singular string + plural string +} + +var pluralExceptions = []plural{ + {"By", "By"}, + {"Cache", "Caches"}, + {"Compatibility", "Compatibility"}, + {"Data", "Data"}, + {"Metadata", "Metadata"}, + {"Orderby", "Orderby"}, + {"Premise", "Premises"}, + {"Sortby", "Sortby"}, +} + +var singularMatchers = map[string]*regexp.Regexp{} +var pluralMatchers = map[string]*regexp.Regexp{} + +func init() { + singularMatchers = make(map[string]*regexp.Regexp) + pluralMatchers = make(map[string]*regexp.Regexp) + + for _, exception := range pluralExceptions { + singularMatchers[exception.singular] = regexp.MustCompile(fmt.Sprintf("^(.*[a-z]?)%s$", exception.plural)) + pluralMatchers[exception.plural] = regexp.MustCompile(fmt.Sprintf("^(.*[a-z]?)%s$", exception.singular)) + } +} + +func Singularize(name string) string { + for _, exception := range pluralExceptions { + if singularMatchers[exception.singular].MatchString(name) { + return singularMatchers[exception.singular].ReplaceAllString(name, "$1") + exception.singular + } + } + + client := pluralize.NewClient() + output := client.Singular(name) + + return output +} + +func Pluralize(name string) string { + for _, exception := range pluralExceptions { + if pluralMatchers[exception.plural].MatchString(name) { + return pluralMatchers[exception.plural].ReplaceAllString(name, "$1") + exception.plural + } + } + + client := pluralize.NewClient() + output := client.Plural(name) + + return output +} diff --git a/tools/importer-msgraph-metadata/components/normalize/normalize_test.go b/tools/importer-msgraph-metadata/components/normalize/plurals_test.go similarity index 54% rename from tools/importer-msgraph-metadata/components/normalize/normalize_test.go rename to tools/importer-msgraph-metadata/components/normalize/plurals_test.go index a11404ff37d..dd31956ca63 100644 --- a/tools/importer-msgraph-metadata/components/normalize/normalize_test.go +++ b/tools/importer-msgraph-metadata/components/normalize/plurals_test.go @@ -5,36 +5,44 @@ import "testing" func TestSingularize(t *testing.T) { testCases := map[string]string{ // Plurals to be singularized + "Apps": "App", + "Applications": "Application", + "Caches": "Cache", + "Entities": "Entity", + "Modalities": "Modality", + "Options": "Option", + "Premises": "Premise", + "Principals": "Principal", + "Services": "Service", + "Severities": "Severity", + "Successes": "Success", + + // Composite plurals to be singularized + "FolderProperties": "FolderProperty", + "SecurityPolicies": "SecurityPolicy", + "ServerDetails": "ServerDetail", + "UserKinds": "UserKind", + + // Singulars to remain the same "Access": "Access", - "Apps": "App", - "Applications": "Application", + "Application": "Application", + "Compatibility": "Compatibility", "By": "By", - "Caches": "Cache", "Data": "Data", - "Details": "Detail", - "Compatibility": "Compatibility", - "Entities": "Entity", - "Kinds": "Kind", + "Group": "Group", "Metadata": "Metadata", - "Modalities": "Modality", - "Options": "Option", "Orderby": "Orderby", - "Policies": "Policy", - "Premises": "Premise", - "Principals": "Principal", - "Properties": "Property", - "Services": "Service", - "Severities": "Severity", + "Ref": "Ref", + "Reference": "Reference", "Sortby": "Sortby", - "Success": "Success", - "Successes": "Success", - // Singulars to remain the same - "Application": "Application", - "Group": "Group", - "Property": "Property", - "Ref": "Ref", - "Reference": "Reference", + // Composite singulars to remain the same + "OrderBy": "OrderBy", + "SecurityGroup": "SecurityGroup", + "UserData": "UserData", + + // Already a singular, mistakenly treated as plural + "Success": "Success", } for input, expected := range testCases { @@ -51,33 +59,43 @@ func TestPluralize(t *testing.T) { "Access": "Accesses", "App": "Apps", "Application": "Applications", - "By": "By", "Compatibility": "Compatibility", "Cache": "Caches", - "Data": "Data", "Detail": "Details", "Entity": "Entities", "Kind": "Kinds", - "Metadata": "Metadata", "Modality": "Modalities", "Option": "Options", - "Orderby": "Orderby", "Policy": "Policies", "Premise": "Premises", "Principal": "Principals", "Property": "Properties", "Service": "Services", "Severity": "Severities", - "Sortby": "Sortby", "Success": "Successes", - "Successes": "Successes", + + // Composite plurals to stay the same + "FolderProperty": "FolderProperties", + "SystemService": "SystemServices", + "UserDetail": "UserDetails", // Plurals to remain the same "Applications": "Applications", + "By": "By", + "Data": "Data", "Groups": "Groups", + "Metadata": "Metadata", + "Orderby": "Orderby", "Properties": "Properties", "Refs": "Refs", "References": "References", + "Sortby": "Sortby", + "Successes": "Successes", + + // Composite plurals to remain the same + "FolderProperties": "FolderProperties", + "OrderBy": "OrderBy", + "UserData": "UserData", } for input, expected := range testCases { diff --git a/tools/importer-msgraph-metadata/components/normalize/verbs.go b/tools/importer-msgraph-metadata/components/normalize/verbs.go index baf6365803e..ac1d365327a 100644 --- a/tools/importer-msgraph-metadata/components/normalize/verbs.go +++ b/tools/importer-msgraph-metadata/components/normalize/verbs.go @@ -7,48 +7,98 @@ import ( type operationVerbs []string -func (ov operationVerbs) Match(operation string) (*string, bool) { - for _, v := range ov { - if regexp.MustCompile(fmt.Sprintf("^%s$", v)).MatchString(operation) { - return &v, true - } - if regexp.MustCompile(fmt.Sprintf("^%s[A-Z]", v)).MatchString(operation) { - return &v, true - } - } - return nil, false -} - +// Verbs is a slice of verbs to match against operation names. An operation is considered to match a verb only +// when it begins with a known verb, and verbs can span multiple words, e.g. "TentativelyAccept" var Verbs = operationVerbs{ + "Accept", "Acquire", "Add", "Assign", + "Cancel", "Change", "Check", + "Checkin", + "Checkout", + "Copy", + "Create", + "Decline", + "Delete", + "Discard", "Discover", + "Dismiss", + "End", + "Erase", "Export", + "Extract", "Find", + "Follow", + "Forward", "Get", + "Hide", + "Insert", "Instantiate", "Invoke", "Issue", + "Mark", "Parse", "Pause", + "PowerOff", + "PowerOn", + "Preview", "Process", "Provision", + "Reboot", "Remove", + "Rename", "Renew", + "Reprocess", + "Reprovision", + "Resize", "Restart", "Restore", "Retry", "Revoke", - "Set", "Send", + "Set", + "Share", + "Snooze", "Start", "Stop", + "TentativelyAccept", "Translate", + "Troubleshoot", + "Unfollow", + "Unhide", + "Unmark", "Unset", + "Unshare", "Update", "Validate", "Wipe", } + +var verbMatchers = map[string][]*regexp.Regexp{} + +func init() { + // Compile regexp structs for all verbs in advance for performance + verbMatchers = make(map[string][]*regexp.Regexp) + for _, verb := range Verbs { + verbMatchers[verb] = []*regexp.Regexp{ + regexp.MustCompile(fmt.Sprintf("^%s$", verb)), + regexp.MustCompile(fmt.Sprintf("^%s[A-Z]", verb)), + } + } +} + +// Match returns the matched verb and a boolean to indicate a positive match, when an operation name +// begins with a known verb - noting that verbs can span multiple words. +func (ov operationVerbs) Match(operationName string) (*string, bool) { + for _, v := range ov { + for _, re := range verbMatchers[v] { + if re.MatchString(operationName) { + return &v, true + } + } + } + return nil, false +} diff --git a/tools/importer-msgraph-metadata/components/normalize/verbs_test.go b/tools/importer-msgraph-metadata/components/normalize/verbs_test.go new file mode 100644 index 00000000000..de3061ce1cb --- /dev/null +++ b/tools/importer-msgraph-metadata/components/normalize/verbs_test.go @@ -0,0 +1,63 @@ +package normalize + +import ( + "fmt" + "testing" + + "github.com/hashicorp/go-azure-helpers/lang/pointer" +) + +func TestVerbsMatch(t *testing.T) { + testCases := map[string]struct { + matched bool + verb *string + }{ + // Standalone verbs + "Discover": {true, pointer.To("Discover")}, + "PowerOff": {true, pointer.To("PowerOff")}, + "Provision": {true, pointer.To("Provision")}, + "Reprovision": {true, pointer.To("Reprovision")}, + "Troubleshoot": {true, pointer.To("Troubleshoot")}, + + // Verbs at start of name (should be matched) + "AssignDirectoryRole": {true, pointer.To("Assign")}, + "InstantiateApplication": {true, pointer.To("Instantiate")}, + "PowerOnCloudPC": {true, pointer.To("PowerOn")}, + "RevokeCertificate": {true, pointer.To("Revoke")}, + "TentativelyAcceptCalendarInvitation": {true, pointer.To("TentativelyAccept")}, + + // Verbs not at start of name (should not be matched) + "AdministratorSetRestriction": {false, nil}, + "FolderShareName": {false, nil}, + "ReportExtract": {false, nil}, + "SiteCheckout": {false, nil}, + "UserDeleted": {false, nil}, + + // No verbs + "Demonstrate": {false, nil}, + "MemberIsUser": {false, nil}, + "RestartedApplication": {false, nil}, + "ServicePrincipal": {false, nil}, + } + + for name, expected := range testCases { + verb, matched := Verbs.Match(name) + if matched != expected.matched { + t.Errorf("%s: expected %t match, got %t", name, expected.matched, matched) + } + if verb == nil && expected.verb == nil { + continue + } + if (verb == nil && expected.verb != nil) || (verb != nil && expected.verb == nil) || pointer.From(verb) != pointer.From(expected.verb) { + exp := "nil" + if expected.verb != nil { + exp = fmt.Sprintf("%q", *expected.verb) + } + got := "nil" + if verb != nil { + got = fmt.Sprintf("%q", *verb) + } + t.Errorf("%s: expected verb %s, got %s", name, exp, got) + } + } +} From 5401ac3f4a251934e6a78031d071e6a0e274ac54 Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Fri, 6 Sep 2024 22:14:19 +0000 Subject: [PATCH 108/134] config: regenerating based on the latest Swagger --- config/resource-manager.hcl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index 3a734a6b646..dbb3b708598 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -20,7 +20,7 @@ service "apicenter" { } service "apimanagement" { name = "ApiManagement" - available = ["2022-08-01", "2023-03-01-preview", "2023-05-01-preview"] + available = ["2022-08-01", "2023-03-01-preview", "2023-05-01-preview", "2024-05-01"] } service "app" { name = "ContainerApps" @@ -620,4 +620,4 @@ service "webpubsub" { service "workloads" { name = "Workloads" available = ["2023-04-01"] -} +} \ No newline at end of file From 6621d6d49fd38e570a5c8cb0c87c64ec13c41327 Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Fri, 6 Sep 2024 22:58:31 +0000 Subject: [PATCH 109/134] data: regenerating based on the latest Swagger --- .../Constant-PolicyComplianceState.json | 18 + .../Model-AllPoliciesContract.json | 57 +++ .../Model-AllPoliciesContractProperties.json | 31 ++ .../AllPolicies/Operation-ListByService.json | 16 + .../AllPolicies/ResourceId-ServiceId.json | 43 ++ .../2024-05-01/Api/Constant-ApiType.json | 30 ++ .../Constant-BearerTokenSendingMethods.json | 14 + .../Api/Constant-ContentFormat.json | 66 +++ .../2024-05-01/Api/Constant-Protocol.json | 22 + .../2024-05-01/Api/Constant-SoapApiType.json | 30 ++ ...anslateRequiredQueryParametersConduct.json | 14 + .../Api/Constant-VersioningScheme.json | 18 + .../Api/Model-ApiContactInformation.json | 44 ++ .../2024-05-01/Api/Model-ApiContract.json | 57 +++ .../Api/Model-ApiContractProperties.json | 295 +++++++++++ .../Model-ApiContractUpdateProperties.json | 256 ++++++++++ .../Api/Model-ApiCreateOrUpdateParameter.json | 18 + .../Model-ApiCreateOrUpdateProperties.json | 360 ++++++++++++++ ...iCreateOrUpdatePropertiesWsdlSelector.json | 31 ++ .../Api/Model-ApiLicenseInformation.json | 31 ++ .../Api/Model-ApiUpdateContract.json | 18 + .../Model-ApiVersionSetContractDetails.json | 83 ++++ .../Model-AuthenticationSettingsContract.json | 65 +++ ...-OAuth2AuthenticationSettingsContract.json | 31 ++ ...-OpenIdAuthenticationSettingsContract.json | 35 ++ ...SubscriptionKeyParameterNamesContract.json | 31 ++ .../Api/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Api/Operation-Delete.json | 33 ++ .../2024-05-01/Api/Operation-Get.json | 14 + .../Api/Operation-GetEntityTag.json | 10 + .../Api/Operation-ListByService.json | 68 +++ .../2024-05-01/Api/Operation-Update.json | 30 ++ .../Operation-WorkspaceApiCreateOrUpdate.json | 31 ++ .../Api/Operation-WorkspaceApiDelete.json | 33 ++ .../Api/Operation-WorkspaceApiGet.json | 14 + .../Operation-WorkspaceApiGetEntityTag.json | 10 + .../Operation-WorkspaceApiListByService.json | 68 +++ .../Api/Operation-WorkspaceApiUpdate.json | 30 ++ .../2024-05-01/Api/ResourceId-ApiId.json | 52 ++ .../2024-05-01/Api/ResourceId-ServiceId.json | 43 ++ .../Api/ResourceId-WorkspaceApiId.json | 61 +++ .../Api/ResourceId-WorkspaceId.json | 52 ++ .../ApiDiagnostic/Constant-AlwaysLog.json | 10 + .../Constant-DataMaskingMode.json | 14 + .../Constant-HTTPCorrelationProtocol.json | 18 + .../Constant-OperationNameFormat.json | 14 + .../ApiDiagnostic/Constant-SamplingType.json | 10 + .../ApiDiagnostic/Constant-Verbosity.json | 18 + .../Model-BodyDiagnosticSettings.json | 18 + .../ApiDiagnostic/Model-DataMasking.json | 39 ++ .../Model-DataMaskingEntity.json | 31 ++ .../Model-DiagnosticContract.json | 57 +++ .../Model-DiagnosticContractProperties.json | 135 +++++ ...el-DiagnosticContractUpdateProperties.json | 135 +++++ .../Model-DiagnosticUpdateContract.json | 57 +++ .../Model-HTTPMessageDiagnostic.json | 48 ++ .../Model-PipelineDiagnosticSettings.json | 31 ++ .../ApiDiagnostic/Model-SamplingSettings.json | 31 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../ApiDiagnostic/Operation-Delete.json | 23 + .../ApiDiagnostic/Operation-Get.json | 14 + .../ApiDiagnostic/Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../ApiDiagnostic/Operation-Update.json | 30 ++ ...-WorkspaceApiDiagnosticCreateOrUpdate.json | 31 ++ ...peration-WorkspaceApiDiagnosticDelete.json | 23 + .../Operation-WorkspaceApiDiagnosticGet.json | 14 + ...on-WorkspaceApiDiagnosticGetEntityTag.json | 10 + ...WorkspaceApiDiagnosticListByWorkspace.json | 48 ++ ...peration-WorkspaceApiDiagnosticUpdate.json | 30 ++ .../ResourceId-ApiDiagnosticId.json | 61 +++ .../ApiDiagnostic/ResourceId-ApiId.json | 52 ++ .../ResourceId-WorkspaceApiDiagnosticId.json | 70 +++ .../ResourceId-WorkspaceApiId.json | 61 +++ .../Constant-ApiGatewaySkuType.json | 18 + .../Constant-VirtualNetworkType.json | 18 + ...el-ApiManagementGatewayBaseProperties.json | 97 ++++ .../Model-ApiManagementGatewayResource.json | 122 +++++ ...del-ApiManagementGatewaySkuProperties.json | 31 ++ ...anagementGatewaySkuPropertiesForPatch.json | 31 ++ ...-ApiManagementGatewayUpdateParameters.json | 96 ++++ .../Model-BackendConfiguration.json | 18 + .../Model-BackendSubnetConfiguration.json | 18 + .../Model-FrontendConfiguration.json | 18 + .../Model-GatewayConfigurationApi.json | 18 + .../ApiGateway/Operation-CreateOrUpdate.json | 19 + .../ApiGateway/Operation-Delete.json | 15 + .../2024-05-01/ApiGateway/Operation-Get.json | 14 + .../2024-05-01/ApiGateway/Operation-List.json | 16 + .../Operation-ListByResourceGroup.json | 16 + .../ApiGateway/Operation-Update.json | 19 + .../ApiGateway/ResourceId-GatewayId.json | 43 ++ .../ResourceId-ResourceGroupId.json | 25 + .../ApiGateway/ResourceId-SubscriptionId.json | 16 + ...gementGatewayConfigConnectionResource.json | 70 +++ ...GatewayConfigConnectionBaseProperties.json | 61 +++ .../Operation-CreateOrUpdate.json | 19 + .../Operation-Delete.json | 23 + .../Operation-Get.json | 14 + .../Operation-ListByGateway.json | 16 + .../ResourceId-ConfigConnectionId.json | 52 ++ .../ResourceId-GatewayId.json | 43 ++ .../2024-05-01/ApiIssue/Constant-State.json | 26 + .../ApiIssue/Model-IssueContract.json | 57 +++ .../Model-IssueContractProperties.json | 84 ++++ .../ApiIssue/Model-IssueUpdateContract.json | 18 + .../Model-IssueUpdateContractProperties.json | 84 ++++ .../ApiIssue/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/ApiIssue/Operation-Delete.json | 23 + .../2024-05-01/ApiIssue/Operation-Get.json | 26 + .../ApiIssue/Operation-GetEntityTag.json | 10 + .../ApiIssue/Operation-ListByService.json | 58 +++ .../2024-05-01/ApiIssue/Operation-Update.json | 30 ++ .../2024-05-01/ApiIssue/ResourceId-ApiId.json | 52 ++ .../ApiIssue/ResourceId-ApiIssueId.json | 61 +++ .../Model-IssueAttachmentContract.json | 57 +++ ...del-IssueAttachmentContractProperties.json | 44 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../ApiIssueAttachment/Operation-Delete.json | 23 + .../ApiIssueAttachment/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../ResourceId-ApiIssueId.json | 61 +++ .../ResourceId-AttachmentId.json | 70 +++ .../Model-IssueCommentContract.json | 57 +++ .../Model-IssueCommentContractProperties.json | 45 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../ApiIssueComment/Operation-Delete.json | 23 + .../ApiIssueComment/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../ResourceId-ApiIssueId.json | 61 +++ .../ApiIssueComment/ResourceId-CommentId.json | 70 +++ .../Constant-ApiGatewaySkuType.json | 18 + .../Constant-GatewaySkuCapacityScaleType.json | 18 + .../Model-GatewayResourceSkuResult.json | 44 ++ .../Model-GatewaySku.json | 18 + .../Model-GatewaySkuCapacity.json | 57 +++ .../Operation-ListAvailableSkus.json | 16 + .../ResourceId-GatewayId.json | 43 ++ .../Constant-AccessType.json | 18 + .../Constant-CertificateSource.json | 22 + .../Constant-CertificateStatus.json | 18 + .../Constant-DeveloperPortalStatus.json | 14 + .../Constant-HostnameType.json | 30 ++ .../Constant-LegacyApiState.json | 14 + .../Constant-LegacyPortalStatus.json | 14 + .../Constant-MigrateToStv2Mode.json | 14 + .../Constant-NameAvailabilityReason.json | 18 + .../Constant-NatGatewayState.json | 14 + .../Constant-PlatformVersion.json | 26 + ...rivateEndpointServiceConnectionStatus.json | 18 + .../Constant-PublicNetworkAccess.json | 14 + .../Constant-SkuType.json | 38 ++ .../Constant-StoreName.json | 14 + .../Constant-VirtualNetworkType.json | 18 + .../Model-AdditionalLocation.json | 173 +++++++ ...ceApplyNetworkConfigurationParameters.json | 18 + ...agementServiceBackupRestoreParameters.json | 83 ++++ ...erviceCheckNameAvailabilityParameters.json | 18 + ...iceGetDomainOwnershipIdentifierResult.json | 18 + ...ApiManagementServiceGetSsoTokenResult.json | 18 + ...nagementServiceNameAvailabilityResult.json | 44 ++ .../Model-ApiManagementServiceProperties.json | 467 ++++++++++++++++++ .../Model-ApiManagementServiceResource.json | 148 ++++++ ...del-ApiManagementServiceSkuProperties.json | 31 ++ ...-ApiManagementServiceUpdateParameters.json | 122 +++++ ...-ApiManagementServiceUpdateProperties.json | 467 ++++++++++++++++++ .../Model-ApiVersionConstraint.json | 18 + .../Model-ArmIdWrapper.json | 18 + .../Model-CertificateConfiguration.json | 57 +++ .../Model-CertificateInformation.json | 45 ++ .../Model-ConfigurationApi.json | 18 + .../Model-HostnameConfiguration.json | 148 ++++++ .../Model-MigrateToStv2Contract.json | 18 + ...teEndpointConnectionWrapperProperties.json | 61 +++ ...del-PrivateLinkServiceConnectionState.json | 44 ++ ...emotePrivateEndpointConnectionWrapper.json | 57 +++ .../Model-VirtualNetworkConfiguration.json | 44 ++ ...tion-ApplyNetworkConfigurationUpdates.json | 20 + .../Operation-Backup.json | 20 + .../Operation-CheckNameAvailability.json | 19 + .../Operation-CreateOrUpdate.json | 19 + .../Operation-Delete.json | 16 + .../ApiManagementService/Operation-Get.json | 14 + ...peration-GetDomainOwnershipIdentifier.json | 15 + .../Operation-GetSsoToken.json | 15 + .../ApiManagementService/Operation-List.json | 16 + .../Operation-ListByResourceGroup.json | 16 + .../Operation-MigrateToStv2.json | 20 + .../Operation-Restore.json | 20 + .../Operation-Update.json | 19 + .../ResourceId-ResourceGroupId.json | 25 + .../ResourceId-ServiceId.json | 43 ++ .../ResourceId-SubscriptionId.json | 16 + ...Constant-ResourceSkuCapacityScaleType.json | 18 + .../Constant-SkuType.json | 38 ++ .../Model-ResourceSku.json | 18 + .../Model-ResourceSkuCapacity.json | 57 +++ .../Model-ResourceSkuResult.json | 44 ++ .../Operation-ListAvailableServiceSkus.json | 16 + .../ResourceId-ServiceId.json | 43 ++ ...l-ApiManagementWorkspaceLinksResource.json | 70 +++ .../Model-WorkspaceLinksBaseProperties.json | 35 ++ .../Model-WorkspaceLinksGateway.json | 18 + ...eration-ApiManagementWorkspaceLinkGet.json | 14 + .../Operation-ListByService.json | 16 + .../ResourceId-ServiceId.json | 43 ++ .../ResourceId-WorkspaceLinkId.json | 52 ++ .../ApiOperation/Model-OperationContract.json | 57 +++ .../Model-OperationContractProperties.json | 117 +++++ .../Model-OperationUpdateContract.json | 18 + ...del-OperationUpdateContractProperties.json | 117 +++++ .../ApiOperation/Model-ParameterContract.json | 130 +++++ .../Model-ParameterExampleContract.json | 57 +++ .../Model-RepresentationContract.json | 78 +++ .../ApiOperation/Model-RequestContract.json | 69 +++ .../ApiOperation/Model-ResponseContract.json | 65 +++ .../Operation-CreateOrUpdate.json | 31 ++ .../ApiOperation/Operation-Delete.json | 23 + .../ApiOperation/Operation-Get.json | 14 + .../ApiOperation/Operation-GetEntityTag.json | 10 + .../ApiOperation/Operation-ListByApi.json | 58 +++ .../ApiOperation/Operation-Update.json | 30 ++ ...n-WorkspaceApiOperationCreateOrUpdate.json | 31 ++ ...Operation-WorkspaceApiOperationDelete.json | 23 + .../Operation-WorkspaceApiOperationGet.json | 14 + ...ion-WorkspaceApiOperationGetEntityTag.json | 10 + ...ration-WorkspaceApiOperationListByApi.json | 58 +++ ...Operation-WorkspaceApiOperationUpdate.json | 30 ++ .../ApiOperation/ResourceId-ApiId.json | 52 ++ .../ResourceId-ApiOperationId.json | 70 +++ .../ApiOperation/ResourceId-OperationId.json | 61 +++ .../ResourceId-WorkspaceApiId.json | 61 +++ .../Constant-PolicyContentFormat.json | 22 + .../Constant-PolicyExportFormat.json | 14 + .../Model-PolicyContract.json | 57 +++ .../Model-PolicyContractProperties.json | 31 ++ .../Operation-CreateOrUpdate.json | 32 ++ .../ApiOperationPolicy/Operation-Delete.json | 24 + .../ApiOperationPolicy/Operation-Get.json | 27 + .../Operation-GetEntityTag.json | 11 + .../Operation-ListByOperation.json | 16 + ...spaceApiOperationPolicyCreateOrUpdate.json | 32 ++ ...ion-WorkspaceApiOperationPolicyDelete.json | 24 + ...ration-WorkspaceApiOperationPolicyGet.json | 27 + ...rkspaceApiOperationPolicyGetEntityTag.json | 11 + ...paceApiOperationPolicyListByOperation.json | 16 + .../ResourceId-ApiOperationId.json | 70 +++ .../ResourceId-OperationId.json | 61 +++ .../ApiOperationTag/Model-TagContract.json | 57 +++ .../Model-TagContractProperties.json | 18 + .../Operation-TagAssignToOperation.json | 15 + .../Operation-TagDetachFromOperation.json | 11 + .../Operation-TagGetByOperation.json | 14 + ...peration-TagGetEntityStateByOperation.json | 10 + .../Operation-TagListByOperation.json | 48 ++ .../ResourceId-OperationId.json | 61 +++ .../ResourceId-OperationTagId.json | 70 +++ .../ApiOperationsByTag/Constant-ApiType.json | 30 ++ .../Constant-BearerTokenSendingMethods.json | 14 + .../Constant-ProductState.json | 14 + .../ApiOperationsByTag/Constant-Protocol.json | 22 + .../Model-ApiContactInformation.json | 44 ++ .../Model-ApiLicenseInformation.json | 31 ++ ...odel-ApiTagResourceContractProperties.json | 269 ++++++++++ .../Model-AuthenticationSettingsContract.json | 65 +++ ...-OAuth2AuthenticationSettingsContract.json | 31 ++ ...-OpenIdAuthenticationSettingsContract.json | 35 ++ ...perationTagResourceContractProperties.json | 109 ++++ ...-ProductTagResourceContractProperties.json | 109 ++++ ...SubscriptionKeyParameterNamesContract.json | 31 ++ .../Model-TagResourceContract.json | 57 +++ ...odel-TagTagResourceContractProperties.json | 31 ++ .../Operation-OperationListByTags.json | 58 +++ .../ApiOperationsByTag/ResourceId-ApiId.json | 52 ++ .../Constant-PolicyContentFormat.json | 22 + .../Constant-PolicyExportFormat.json | 14 + .../ApiPolicy/Model-PolicyContract.json | 57 +++ .../Model-PolicyContractProperties.json | 31 ++ .../ApiPolicy/Operation-CreateOrUpdate.json | 32 ++ .../ApiPolicy/Operation-Delete.json | 24 + .../2024-05-01/ApiPolicy/Operation-Get.json | 27 + .../ApiPolicy/Operation-GetEntityTag.json | 11 + .../ApiPolicy/Operation-ListByApi.json | 16 + ...tion-WorkspaceApiPolicyCreateOrUpdate.json | 32 ++ .../Operation-WorkspaceApiPolicyDelete.json | 24 + .../Operation-WorkspaceApiPolicyGet.json | 27 + ...ration-WorkspaceApiPolicyGetEntityTag.json | 11 + ...Operation-WorkspaceApiPolicyListByApi.json | 16 + .../ApiPolicy/ResourceId-ApiId.json | 52 ++ .../ApiPolicy/ResourceId-WorkspaceApiId.json | 61 +++ .../ApiProduct/Constant-ProductState.json | 14 + .../ApiProduct/Model-ProductContract.json | 57 +++ .../Model-ProductContractProperties.json | 96 ++++ .../ApiProduct/Operation-ListByApis.json | 48 ++ .../ApiProduct/ResourceId-ApiId.json | 52 ++ .../ApiRelease/Model-ApiReleaseContract.json | 57 +++ .../Model-ApiReleaseContractProperties.json | 59 +++ .../ApiRelease/Operation-CreateOrUpdate.json | 31 ++ .../ApiRelease/Operation-Delete.json | 23 + .../2024-05-01/ApiRelease/Operation-Get.json | 14 + .../ApiRelease/Operation-GetEntityTag.json | 10 + .../ApiRelease/Operation-ListByService.json | 48 ++ .../ApiRelease/Operation-Update.json | 30 ++ ...ion-WorkspaceApiReleaseCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceApiReleaseDelete.json | 23 + .../Operation-WorkspaceApiReleaseGet.json | 14 + ...ation-WorkspaceApiReleaseGetEntityTag.json | 10 + ...tion-WorkspaceApiReleaseListByService.json | 48 ++ .../Operation-WorkspaceApiReleaseUpdate.json | 30 ++ .../ApiRelease/ResourceId-ApiId.json | 52 ++ .../ApiRelease/ResourceId-ApiReleaseId.json | 70 +++ .../ApiRelease/ResourceId-ReleaseId.json | 61 +++ .../ApiRelease/ResourceId-WorkspaceApiId.json | 61 +++ .../Model-ApiRevisionContract.json | 111 +++++ .../ApiRevision/Operation-ListByService.json | 48 ++ ...ion-WorkspaceApiRevisionListByService.json | 48 ++ .../ApiRevision/ResourceId-ApiId.json | 52 ++ .../ResourceId-WorkspaceApiId.json | 61 +++ .../ApiSchema/Model-SchemaContract.json | 57 +++ .../Model-SchemaContractProperties.json | 44 ++ .../Model-SchemaDocumentProperties.json | 44 ++ .../ApiSchema/Operation-CreateOrUpdate.json | 31 ++ .../ApiSchema/Operation-Delete.json | 33 ++ .../2024-05-01/ApiSchema/Operation-Get.json | 14 + .../ApiSchema/Operation-GetEntityTag.json | 10 + .../ApiSchema/Operation-ListByApi.json | 48 ++ ...tion-WorkspaceApiSchemaCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceApiSchemaDelete.json | 33 ++ .../Operation-WorkspaceApiSchemaGet.json | 14 + ...ration-WorkspaceApiSchemaGetEntityTag.json | 10 + ...Operation-WorkspaceApiSchemaListByApi.json | 48 ++ .../ApiSchema/ResourceId-ApiId.json | 52 ++ .../ApiSchema/ResourceId-ApiSchemaId.json | 61 +++ .../ApiSchema/ResourceId-WorkspaceApiId.json | 61 +++ .../ResourceId-WorkspaceApiSchemaId.json | 70 +++ .../2024-05-01/ApiTag/Model-TagContract.json | 57 +++ .../ApiTag/Model-TagContractProperties.json | 18 + .../ApiTag/Operation-TagAssignToApi.json | 15 + .../ApiTag/Operation-TagDetachFromApi.json | 11 + .../ApiTag/Operation-TagGetByApi.json | 14 + .../Operation-TagGetEntityStateByApi.json | 10 + .../ApiTag/Operation-TagListByApi.json | 48 ++ .../2024-05-01/ApiTag/ResourceId-ApiId.json | 52 ++ .../ApiTag/ResourceId-ApiTagId.json | 61 +++ .../Model-TagDescriptionBaseProperties.json | 44 ++ .../Model-TagDescriptionContract.json | 57 +++ ...odel-TagDescriptionContractProperties.json | 70 +++ .../Model-TagDescriptionCreateParameters.json | 18 + .../Operation-CreateOrUpdate.json | 31 ++ .../ApiTagDescription/Operation-Delete.json | 23 + .../ApiTagDescription/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../ApiTagDescription/ResourceId-ApiId.json | 52 ++ .../ResourceId-TagDescriptionId.json | 61 +++ .../2024-05-01/ApiVersionDefinition.json | 127 +++++ .../Constant-VersioningScheme.json | 18 + .../Model-ApiVersionSetContract.json | 57 +++ ...Model-ApiVersionSetContractProperties.json | 70 +++ .../Model-ApiVersionSetUpdateParameters.json | 18 + ...iVersionSetUpdateParametersProperties.json | 70 +++ .../Operation-CreateOrUpdate.json | 31 ++ .../ApiVersionSet/Operation-Get.json | 14 + .../ApiVersionSet/Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../ApiVersionSet/Operation-Update.json | 30 ++ ...-WorkspaceApiVersionSetCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceApiVersionSetGet.json | 14 + ...on-WorkspaceApiVersionSetGetEntityTag.json | 10 + ...n-WorkspaceApiVersionSetListByService.json | 48 ++ ...peration-WorkspaceApiVersionSetUpdate.json | 30 ++ .../ResourceId-ApiVersionSetId.json | 52 ++ .../ApiVersionSet/ResourceId-ServiceId.json | 43 ++ .../ResourceId-WorkspaceApiVersionSetId.json | 61 +++ .../ApiVersionSet/ResourceId-WorkspaceId.json | 52 ++ .../Operation-ApiVersionSetDelete.json | 23 + ...peration-WorkspaceApiVersionSetDelete.json | 23 + .../ResourceId-ApiVersionSetId.json | 52 ++ .../ResourceId-WorkspaceApiVersionSetId.json | 61 +++ .../ApiWiki/Model-WikiContract.json | 57 +++ .../ApiWiki/Model-WikiContractProperties.json | 22 + .../Model-WikiDocumentationContract.json | 18 + .../ApiWiki/Model-WikiUpdateContract.json | 18 + .../ApiWiki/Operation-CreateOrUpdate.json | 32 ++ .../2024-05-01/ApiWiki/Operation-Delete.json | 24 + .../2024-05-01/ApiWiki/Operation-Get.json | 15 + .../ApiWiki/Operation-GetEntityTag.json | 11 + .../2024-05-01/ApiWiki/Operation-List.json | 48 ++ .../2024-05-01/ApiWiki/Operation-Update.json | 31 ++ .../2024-05-01/ApiWiki/ResourceId-ApiId.json | 52 ++ .../ApisByTag/Constant-ApiType.json | 30 ++ .../Constant-BearerTokenSendingMethods.json | 14 + .../ApisByTag/Constant-ProductState.json | 14 + .../ApisByTag/Constant-Protocol.json | 22 + .../Model-ApiContactInformation.json | 44 ++ .../Model-ApiLicenseInformation.json | 31 ++ ...odel-ApiTagResourceContractProperties.json | 269 ++++++++++ .../Model-AuthenticationSettingsContract.json | 65 +++ ...-OAuth2AuthenticationSettingsContract.json | 31 ++ ...-OpenIdAuthenticationSettingsContract.json | 35 ++ ...perationTagResourceContractProperties.json | 109 ++++ ...-ProductTagResourceContractProperties.json | 109 ++++ ...SubscriptionKeyParameterNamesContract.json | 31 ++ .../ApisByTag/Model-TagResourceContract.json | 57 +++ ...odel-TagTagResourceContractProperties.json | 31 ++ .../ApisByTag/Operation-ApiListByTags.json | 58 +++ .../ApisByTag/ResourceId-ServiceId.json | 43 ++ .../Constant-AuthorizationType.json | 10 + .../Constant-OAuth2GrantType.json | 14 + .../Model-AuthorizationContract.json | 57 +++ ...Model-AuthorizationContractProperties.json | 74 +++ .../Model-AuthorizationError.json | 31 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../Authorization/Operation-Delete.json | 23 + .../Authorization/Operation-Get.json | 14 + .../ResourceId-AuthorizationId.json | 61 +++ ...del-AuthorizationAccessPolicyContract.json | 57 +++ ...izationAccessPolicyContractProperties.json | 48 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../Operation-Delete.json | 23 + .../Operation-Get.json | 14 + .../Operation-ListByAuthorization.json | 48 ++ .../ResourceId-AccessPolicyId.json | 70 +++ .../ResourceId-AuthorizationId.json | 61 +++ ...tionConfirmConsentCodeRequestContract.json | 18 + ...ation-AuthorizationConfirmConsentCode.json | 15 + .../ResourceId-AuthorizationId.json | 61 +++ ...del-AuthorizationLoginRequestContract.json | 18 + ...el-AuthorizationLoginResponseContract.json | 18 + .../Operation-Post.json | 19 + .../ResourceId-AuthorizationId.json | 61 +++ .../Model-AuthorizationProviderContract.json | 57 +++ ...thorizationProviderContractProperties.json | 44 ++ ...AuthorizationProviderOAuth2GrantTypes.json | 39 ++ ...l-AuthorizationProviderOAuth2Settings.json | 31 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../Operation-Delete.json | 23 + .../AuthorizationProvider/Operation-Get.json | 14 + .../Operation-ListByService.json | 48 ++ .../ResourceId-AuthorizationProviderId.json | 52 ++ .../ResourceId-ServiceId.json | 43 ++ .../Constant-AuthorizationMethod.json | 38 ++ .../Constant-BearerTokenSendingMethod.json | 14 + .../Constant-ClientAuthenticationMethod.json | 14 + .../Constant-GrantType.json | 22 + .../Model-AuthorizationServerContract.json | 57 +++ ...AuthorizationServerContractProperties.json | 259 ++++++++++ ...el-AuthorizationServerSecretsContract.json | 44 ++ ...del-AuthorizationServerUpdateContract.json | 57 +++ ...izationServerUpdateContractProperties.json | 259 ++++++++++ .../Model-TokenBodyParameterContract.json | 31 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../AuthorizationServer/Operation-Delete.json | 23 + .../AuthorizationServer/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../Operation-ListSecrets.json | 15 + .../AuthorizationServer/Operation-Update.json | 30 ++ .../ResourceId-AuthorizationServerId.json | 52 ++ .../ResourceId-ServiceId.json | 43 ++ .../Constant-AuthorizationType.json | 10 + .../Constant-OAuth2GrantType.json | 14 + .../Model-AuthorizationContract.json | 57 +++ ...Model-AuthorizationContractProperties.json | 74 +++ .../Model-AuthorizationError.json | 31 ++ ...horizationListByAuthorizationProvider.json | 48 ++ .../ResourceId-AuthorizationProviderId.json | 52 ++ .../Backend/Constant-BackendProtocol.json | 14 + .../Backend/Constant-BackendType.json | 14 + ...BackendAuthorizationHeaderCredentials.json | 31 ++ .../Model-BackendBaseParametersPool.json | 22 + .../Backend/Model-BackendCircuitBreaker.json | 22 + .../Backend/Model-BackendContract.json | 57 +++ .../Model-BackendContractProperties.json | 161 ++++++ .../Model-BackendCredentialsContract.json | 94 ++++ .../Backend/Model-BackendPoolItem.json | 44 ++ .../Backend/Model-BackendProperties.json | 18 + .../Backend/Model-BackendProxyContract.json | 44 ++ ...BackendServiceFabricClusterProperties.json | 95 ++++ .../Backend/Model-BackendTlsProperties.json | 31 ++ ...odel-BackendUpdateParameterProperties.json | 161 ++++++ .../Model-BackendUpdateParameters.json | 18 + .../Model-CircuitBreakerFailureCondition.json | 78 +++ .../Backend/Model-CircuitBreakerRule.json | 57 +++ .../Backend/Model-FailureStatusCodeRange.json | 31 ++ .../Backend/Model-X509CertificateName.json | 31 ++ .../Backend/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Backend/Operation-Delete.json | 23 + .../2024-05-01/Backend/Operation-Get.json | 14 + .../Backend/Operation-GetEntityTag.json | 10 + .../Backend/Operation-ListByService.json | 48 ++ .../2024-05-01/Backend/Operation-Update.json | 30 ++ ...ration-WorkspaceBackendCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceBackendDelete.json | 23 + .../Operation-WorkspaceBackendGet.json | 14 + ...peration-WorkspaceBackendGetEntityTag.json | 10 + ...ation-WorkspaceBackendListByWorkspace.json | 48 ++ .../Operation-WorkspaceBackendUpdate.json | 30 ++ .../Backend/ResourceId-BackendId.json | 52 ++ .../Backend/ResourceId-ServiceId.json | 43 ++ .../ResourceId-WorkspaceBackendId.json | 61 +++ .../Backend/ResourceId-WorkspaceId.json | 52 ++ .../Model-BackendReconnectContract.json | 57 +++ .../Model-BackendReconnectProperties.json | 18 + .../Operation-BackendReconnect.json | 15 + .../ResourceId-BackendId.json | 52 ++ .../2024-05-01/Cache/Model-CacheContract.json | 57 +++ .../Cache/Model-CacheContractProperties.json | 57 +++ .../Cache/Model-CacheUpdateParameters.json | 18 + .../Cache/Model-CacheUpdateProperties.json | 57 +++ .../Cache/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Cache/Operation-Delete.json | 23 + .../2024-05-01/Cache/Operation-Get.json | 14 + .../Cache/Operation-GetEntityTag.json | 10 + .../Cache/Operation-ListByService.json | 38 ++ .../2024-05-01/Cache/Operation-Update.json | 30 ++ .../2024-05-01/Cache/ResourceId-CacheId.json | 52 ++ .../Cache/ResourceId-ServiceId.json | 43 ++ .../Model-CertificateContract.json | 57 +++ .../Model-CertificateContractProperties.json | 58 +++ ...l-CertificateCreateOrUpdateParameters.json | 18 + ...l-CertificateCreateOrUpdateProperties.json | 44 ++ ...odel-KeyVaultContractCreateProperties.json | 31 ++ .../Model-KeyVaultContractProperties.json | 44 ++ ...ultLastAccessStatusContractProperties.json | 45 ++ .../Certificate/Operation-CreateOrUpdate.json | 31 ++ .../Certificate/Operation-Delete.json | 23 + .../2024-05-01/Certificate/Operation-Get.json | 14 + .../Certificate/Operation-GetEntityTag.json | 10 + .../Certificate/Operation-ListByService.json | 58 +++ .../Certificate/Operation-RefreshSecret.json | 15 + ...on-WorkspaceCertificateCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceCertificateDelete.json | 23 + .../Operation-WorkspaceCertificateGet.json | 14 + ...tion-WorkspaceCertificateGetEntityTag.json | 10 + ...n-WorkspaceCertificateListByWorkspace.json | 58 +++ ...ion-WorkspaceCertificateRefreshSecret.json | 15 + .../Certificate/ResourceId-CertificateId.json | 52 ++ .../Certificate/ResourceId-ServiceId.json | 43 ++ .../ResourceId-WorkspaceCertificateId.json | 61 +++ .../Certificate/ResourceId-WorkspaceId.json | 52 ++ .../Model-ContentTypeContract.json | 57 +++ .../Model-ContentTypeContractProperties.json | 70 +++ .../ContentType/Operation-CreateOrUpdate.json | 31 ++ .../ContentType/Operation-Delete.json | 23 + .../2024-05-01/ContentType/Operation-Get.json | 14 + .../ContentType/Operation-ListByService.json | 16 + .../ContentType/ResourceId-ContentTypeId.json | 52 ++ .../ContentType/ResourceId-ServiceId.json | 43 ++ .../Model-ContentItemContract.json | 57 +++ .../Operation-ContentItemCreateOrUpdate.json | 31 ++ .../Operation-ContentItemDelete.json | 23 + .../Operation-ContentItemGet.json | 14 + .../Operation-ContentItemGetEntityTag.json | 10 + .../Operation-ContentItemListByService.json | 16 + .../ResourceId-ContentItemId.json | 61 +++ .../ResourceId-ContentTypeId.json | 52 ++ .../Model-PortalDelegationSettings.json | 57 +++ ...el-PortalDelegationSettingsProperties.json | 57 +++ ...el-PortalSettingValidationKeyContract.json | 18 + ...istrationDelegationSettingsProperties.json | 18 + ...criptionsDelegationSettingsProperties.json | 18 + .../Operation-CreateOrUpdate.json | 31 ++ .../DelegationSettings/Operation-Get.json | 15 + .../Operation-GetEntityTag.json | 11 + .../Operation-ListSecrets.json | 15 + .../DelegationSettings/Operation-Update.json | 27 + .../ResourceId-ServiceId.json | 43 ++ .../Model-DeletedServiceContract.json | 70 +++ ...odel-DeletedServiceContractProperties.json | 46 ++ .../DeletedService/Operation-GetByName.json | 14 + .../Operation-ListBySubscription.json | 16 + .../DeletedService/Operation-Purge.json | 16 + .../ResourceId-DeletedServiceId.json | 43 ++ .../ResourceId-SubscriptionId.json | 16 + .../Diagnostic/Constant-AlwaysLog.json | 10 + .../Diagnostic/Constant-DataMaskingMode.json | 14 + .../Constant-HTTPCorrelationProtocol.json | 18 + .../Constant-OperationNameFormat.json | 14 + .../Diagnostic/Constant-SamplingType.json | 10 + .../Diagnostic/Constant-Verbosity.json | 18 + .../Model-BodyDiagnosticSettings.json | 18 + .../Diagnostic/Model-DataMasking.json | 39 ++ .../Diagnostic/Model-DataMaskingEntity.json | 31 ++ .../Diagnostic/Model-DiagnosticContract.json | 57 +++ .../Model-DiagnosticContractProperties.json | 135 +++++ ...el-DiagnosticContractUpdateProperties.json | 135 +++++ .../Model-DiagnosticUpdateContract.json | 57 +++ .../Model-HTTPMessageDiagnostic.json | 48 ++ .../Model-PipelineDiagnosticSettings.json | 31 ++ .../Diagnostic/Model-SamplingSettings.json | 31 ++ .../Diagnostic/Operation-CreateOrUpdate.json | 31 ++ .../Diagnostic/Operation-Delete.json | 23 + .../2024-05-01/Diagnostic/Operation-Get.json | 14 + .../Diagnostic/Operation-GetEntityTag.json | 10 + .../Diagnostic/Operation-ListByService.json | 48 ++ .../Diagnostic/Operation-Update.json | 30 ++ ...ion-WorkspaceDiagnosticCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceDiagnosticDelete.json | 23 + .../Operation-WorkspaceDiagnosticGet.json | 14 + ...ation-WorkspaceDiagnosticGetEntityTag.json | 10 + ...on-WorkspaceDiagnosticListByWorkspace.json | 48 ++ .../Operation-WorkspaceDiagnosticUpdate.json | 30 ++ .../Diagnostic/ResourceId-DiagnosticId.json | 52 ++ .../Diagnostic/ResourceId-ServiceId.json | 43 ++ .../ResourceId-WorkspaceDiagnosticId.json | 61 +++ .../Diagnostic/ResourceId-WorkspaceId.json | 52 ++ .../Model-DocumentationContract.json | 57 +++ ...Model-DocumentationContractProperties.json | 31 ++ .../Model-DocumentationUpdateContract.json | 18 + .../Operation-CreateOrUpdate.json | 31 ++ .../Operation-Delete.json | 23 + .../DocumentationResource/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../Operation-Update.json | 30 ++ .../ResourceId-DocumentationId.json | 52 ++ .../ResourceId-ServiceId.json | 43 ++ .../Model-EmailTemplateContract.json | 57 +++ ...Model-EmailTemplateContractProperties.json | 87 ++++ ...lTemplateParametersContractProperties.json | 44 ++ .../Operation-ListByService.json | 48 ++ .../EmailTemplate/ResourceId-ServiceId.json | 43 ++ .../EmailTemplates/Constant-TemplateName.json | 62 +++ .../Model-EmailTemplateContract.json | 57 +++ ...Model-EmailTemplateContractProperties.json | 87 ++++ ...lTemplateParametersContractProperties.json | 44 ++ ...mailTemplateUpdateParameterProperties.json | 74 +++ .../Model-EmailTemplateUpdateParameters.json | 18 + ...Operation-EmailTemplateCreateOrUpdate.json | 31 ++ .../Operation-EmailTemplateDelete.json | 23 + .../Operation-EmailTemplateGet.json | 14 + .../Operation-EmailTemplateGetEntityTag.json | 10 + .../Operation-EmailTemplateUpdate.json | 30 ++ .../EmailTemplates/ResourceId-TemplateId.json | 53 ++ .../Gateway/Model-GatewayContract.json | 57 +++ .../Model-GatewayContractProperties.json | 31 ++ .../Model-ResourceLocationDataContract.json | 57 +++ .../Gateway/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Gateway/Operation-Delete.json | 23 + .../2024-05-01/Gateway/Operation-Get.json | 14 + .../Gateway/Operation-GetEntityTag.json | 10 + .../Gateway/Operation-ListByService.json | 48 ++ .../2024-05-01/Gateway/Operation-Update.json | 30 ++ .../Gateway/ResourceId-ServiceGatewayId.json | 52 ++ .../Gateway/ResourceId-ServiceId.json | 43 ++ .../GatewayApi/Constant-ApiType.json | 30 ++ .../Constant-BearerTokenSendingMethods.json | 14 + .../GatewayApi/Constant-Protocol.json | 22 + .../Constant-ProvisioningState.json | 10 + .../GatewayApi/Constant-VersioningScheme.json | 18 + .../Model-ApiContactInformation.json | 44 ++ .../GatewayApi/Model-ApiContract.json | 57 +++ .../Model-ApiContractProperties.json | 295 +++++++++++ .../Model-ApiLicenseInformation.json | 31 ++ .../Model-ApiVersionSetContractDetails.json | 83 ++++ .../GatewayApi/Model-AssociationContract.json | 57 +++ .../Model-AssociationContractProperties.json | 18 + .../Model-AuthenticationSettingsContract.json | 65 +++ ...-OAuth2AuthenticationSettingsContract.json | 31 ++ ...-OpenIdAuthenticationSettingsContract.json | 35 ++ ...SubscriptionKeyParameterNamesContract.json | 31 ++ .../GatewayApi/Operation-CreateOrUpdate.json | 19 + .../GatewayApi/Operation-Delete.json | 11 + .../GatewayApi/Operation-GetEntityTag.json | 10 + .../GatewayApi/Operation-ListByService.json | 48 ++ .../GatewayApi/ResourceId-GatewayApiId.json | 61 +++ .../ResourceId-ServiceGatewayId.json | 52 ++ ...l-GatewayCertificateAuthorityContract.json | 57 +++ ...ertificateAuthorityContractProperties.json | 18 + .../Operation-CreateOrUpdate.json | 31 ++ .../Operation-Delete.json | 23 + .../Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../ResourceId-CertificateAuthorityId.json | 61 +++ .../ResourceId-ServiceGatewayId.json | 52 ++ .../Constant-KeyType.json | 14 + .../Model-GatewayTokenContract.json | 18 + .../Model-GatewayTokenRequestContract.json | 32 ++ .../Operation-GatewayGenerateToken.json | 19 + .../ResourceId-ServiceGatewayId.json | 52 ++ ...-GatewayHostnameConfigurationContract.json | 57 +++ ...stnameConfigurationContractProperties.json | 83 ++++ .../Operation-CreateOrUpdate.json | 31 ++ .../Operation-Delete.json | 23 + .../Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../ResourceId-HostnameConfigurationId.json | 61 +++ .../ResourceId-ServiceGatewayId.json | 52 ++ ...ion-GatewayInvalidateDebugCredentials.json | 11 + .../ResourceId-ServiceGatewayId.json | 52 ++ ...ayListDebugCredentialsContractPurpose.json | 10 + ...Model-GatewayDebugCredentialsContract.json | 18 + ...l-GatewayListDebugCredentialsContract.json | 48 ++ ...Operation-GatewayListDebugCredentials.json | 19 + .../ResourceId-ServiceGatewayId.json | 52 ++ .../Model-GatewayKeysContract.json | 31 ++ .../Operation-GatewayListKeys.json | 15 + .../ResourceId-ServiceGatewayId.json | 52 ++ .../Model-GatewayListTraceContract.json | 18 + .../Operation-GatewayListTrace.json | 19 + .../ResourceId-ServiceGatewayId.json | 52 ++ .../Constant-KeyType.json | 14 + ...GatewayKeyRegenerationRequestContract.json | 18 + .../Operation-GatewayRegenerateKey.json | 15 + .../ResourceId-ServiceGatewayId.json | 52 ++ .../Model-ResolverContract.json | 57 +++ .../Model-ResolverEntityBaseContract.json | 44 ++ .../Model-ResolverUpdateContract.json | 18 + ...odel-ResolverUpdateContractProperties.json | 44 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../GraphQLApiResolver/Operation-Delete.json | 23 + .../GraphQLApiResolver/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByApi.json | 48 ++ .../GraphQLApiResolver/Operation-Update.json | 30 ++ .../GraphQLApiResolver/ResourceId-ApiId.json | 52 ++ .../ResourceId-ResolverId.json | 61 +++ .../Constant-PolicyContentFormat.json | 22 + .../Constant-PolicyExportFormat.json | 14 + .../Model-PolicyContract.json | 57 +++ .../Model-PolicyContractProperties.json | 31 ++ .../Operation-CreateOrUpdate.json | 32 ++ .../Operation-Delete.json | 24 + .../Operation-Get.json | 27 + .../Operation-GetEntityTag.json | 11 + .../Operation-ListByResolver.json | 16 + .../ResourceId-ResolverId.json | 61 +++ .../2024-05-01/Group/Constant-GroupType.json | 18 + .../2024-05-01/Group/Model-GroupContract.json | 57 +++ .../Group/Model-GroupContractProperties.json | 70 +++ .../Group/Model-GroupCreateParameters.json | 18 + ...Model-GroupCreateParametersProperties.json | 57 +++ .../Group/Model-GroupUpdateParameters.json | 18 + ...Model-GroupUpdateParametersProperties.json | 57 +++ .../Group/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Group/Operation-Delete.json | 23 + .../2024-05-01/Group/Operation-Get.json | 14 + .../Group/Operation-GetEntityTag.json | 10 + .../Group/Operation-ListByService.json | 48 ++ .../2024-05-01/Group/Operation-Update.json | 30 ++ ...peration-WorkspaceGroupCreateOrUpdate.json | 31 ++ .../Group/Operation-WorkspaceGroupDelete.json | 23 + .../Group/Operation-WorkspaceGroupGet.json | 14 + .../Operation-WorkspaceGroupGetEntityTag.json | 10 + ...Operation-WorkspaceGroupListByService.json | 48 ++ .../Group/Operation-WorkspaceGroupUpdate.json | 30 ++ .../2024-05-01/Group/ResourceId-GroupId.json | 52 ++ .../Group/ResourceId-ServiceId.json | 43 ++ .../Group/ResourceId-WorkspaceGroupId.json | 61 +++ .../Group/ResourceId-WorkspaceId.json | 52 ++ .../GroupUser/Constant-GroupType.json | 18 + .../GroupUser/Constant-UserState.json | 22 + .../Model-GroupContractProperties.json | 70 +++ .../GroupUser/Model-UserContract.json | 57 +++ .../Model-UserContractProperties.json | 118 +++++ .../GroupUser/Model-UserIdentityContract.json | 31 ++ .../Operation-CheckEntityExists.json | 10 + .../GroupUser/Operation-Create.json | 15 + .../GroupUser/Operation-Delete.json | 11 + .../2024-05-01/GroupUser/Operation-List.json | 48 ++ ...n-WorkspaceGroupUserCheckEntityExists.json | 10 + .../Operation-WorkspaceGroupUserCreate.json | 15 + .../Operation-WorkspaceGroupUserDelete.json | 11 + .../Operation-WorkspaceGroupUserList.json | 48 ++ .../GroupUser/ResourceId-GroupId.json | 52 ++ .../GroupUser/ResourceId-GroupUserId.json | 61 +++ .../ResourceId-WorkspaceGroupId.json | 61 +++ .../ResourceId-WorkspaceGroupUserId.json | 70 +++ .../Constant-IdentityProviderType.json | 30 ++ .../Model-ClientSecretContract.json | 18 + .../Model-IdentityProviderContract.json | 57 +++ ...el-IdentityProviderContractProperties.json | 152 ++++++ .../Model-IdentityProviderCreateContract.json | 57 +++ ...ntityProviderCreateContractProperties.json | 152 ++++++ ...odel-IdentityProviderUpdateParameters.json | 18 + ...odel-IdentityProviderUpdateProperties.json | 152 ++++++ .../Operation-CreateOrUpdate.json | 31 ++ .../IdentityProvider/Operation-Delete.json | 23 + .../IdentityProvider/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 16 + .../Operation-ListSecrets.json | 15 + .../IdentityProvider/Operation-Update.json | 30 ++ .../ResourceId-IdentityProviderId.json | 53 ++ .../ResourceId-ServiceId.json | 43 ++ .../2024-05-01/Issue/Constant-State.json | 26 + .../2024-05-01/Issue/Model-IssueContract.json | 57 +++ .../Issue/Model-IssueContractProperties.json | 84 ++++ .../2024-05-01/Issue/Operation-Get.json | 14 + .../Issue/Operation-ListByService.json | 48 ++ .../2024-05-01/Issue/ResourceId-IssueId.json | 52 ++ .../Issue/ResourceId-ServiceId.json | 43 ++ .../Logger/Constant-LoggerType.json | 18 + .../Logger/Model-LoggerContract.json | 57 +++ .../Model-LoggerContractProperties.json | 74 +++ .../Logger/Model-LoggerUpdateContract.json | 18 + .../Logger/Model-LoggerUpdateParameters.json | 61 +++ .../Logger/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Logger/Operation-Delete.json | 23 + .../2024-05-01/Logger/Operation-Get.json | 14 + .../Logger/Operation-GetEntityTag.json | 10 + .../Logger/Operation-ListByService.json | 48 ++ .../2024-05-01/Logger/Operation-Update.json | 30 ++ ...eration-WorkspaceLoggerCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceLoggerDelete.json | 23 + .../Logger/Operation-WorkspaceLoggerGet.json | 14 + ...Operation-WorkspaceLoggerGetEntityTag.json | 10 + ...ration-WorkspaceLoggerListByWorkspace.json | 48 ++ .../Operation-WorkspaceLoggerUpdate.json | 30 ++ .../Logger/ResourceId-LoggerId.json | 52 ++ .../Logger/ResourceId-ServiceId.json | 43 ++ .../Logger/ResourceId-WorkspaceId.json | 52 ++ .../Logger/ResourceId-WorkspaceLoggerId.json | 61 +++ .../Constant-KeyVaultRefreshState.json | 14 + ...odel-KeyVaultContractCreateProperties.json | 31 ++ .../Model-KeyVaultContractProperties.json | 44 ++ ...ultLastAccessStatusContractProperties.json | 45 ++ .../NamedValue/Model-NamedValueContract.json | 57 +++ .../Model-NamedValueContractProperties.json | 87 ++++ .../Model-NamedValueCreateContract.json | 57 +++ ...el-NamedValueCreateContractProperties.json | 74 +++ .../Model-NamedValueSecretContract.json | 18 + ...l-NamedValueUpdateParameterProperties.json | 74 +++ .../Model-NamedValueUpdateParameters.json | 18 + .../NamedValue/Operation-CreateOrUpdate.json | 31 ++ .../NamedValue/Operation-Delete.json | 23 + .../2024-05-01/NamedValue/Operation-Get.json | 14 + .../NamedValue/Operation-GetEntityTag.json | 10 + .../NamedValue/Operation-ListByService.json | 58 +++ .../NamedValue/Operation-ListValue.json | 15 + .../NamedValue/Operation-RefreshSecret.json | 16 + .../NamedValue/Operation-Update.json | 31 ++ ...ion-WorkspaceNamedValueCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceNamedValueDelete.json | 23 + .../Operation-WorkspaceNamedValueGet.json | 14 + ...ation-WorkspaceNamedValueGetEntityTag.json | 10 + ...tion-WorkspaceNamedValueListByService.json | 58 +++ ...peration-WorkspaceNamedValueListValue.json | 15 + ...tion-WorkspaceNamedValueRefreshSecret.json | 16 + .../Operation-WorkspaceNamedValueUpdate.json | 31 ++ .../NamedValue/ResourceId-NamedValueId.json | 52 ++ .../NamedValue/ResourceId-ServiceId.json | 43 ++ .../NamedValue/ResourceId-WorkspaceId.json | 52 ++ .../ResourceId-WorkspaceNamedValueId.json | 61 +++ .../Constant-ConnectivityStatusType.json | 18 + .../Model-ConnectivityStatusContract.json | 98 ++++ .../Model-NetworkStatusContract.json | 39 ++ ...Model-NetworkStatusContractByLocation.json | 31 ++ .../Operation-ListByLocation.json | 15 + .../Operation-ListByService.json | 19 + .../NetworkStatus/ResourceId-LocationId.json | 52 ++ .../NetworkStatus/ResourceId-ServiceId.json | 43 ++ .../Constant-NotificationName.json | 34 ++ .../Model-NotificationContract.json | 57 +++ .../Model-NotificationContractProperties.json | 44 ++ .../Model-RecipientsContractProperties.json | 39 ++ .../Operation-CreateOrUpdate.json | 26 + .../Notification/Operation-Get.json | 14 + .../Notification/Operation-ListByService.json | 38 ++ ...n-WorkspaceNotificationCreateOrUpdate.json | 26 + .../Operation-WorkspaceNotificationGet.json | 14 + ...on-WorkspaceNotificationListByService.json | 38 ++ .../ResourceId-NotificationId.json | 53 ++ ...ResourceId-NotificationNotificationId.json | 62 +++ .../Notification/ResourceId-ServiceId.json | 43 ++ .../Notification/ResourceId-WorkspaceId.json | 52 ++ .../Constant-NotificationName.json | 34 ++ .../Model-RecipientEmailContract.json | 57 +++ ...odel-RecipientEmailContractProperties.json | 18 + .../Operation-CheckEntityExists.json | 10 + .../Operation-CreateOrUpdate.json | 15 + .../Operation-Delete.json | 11 + .../Operation-ListByNotification.json | 16 + ...cationRecipientEmailCheckEntityExists.json | 10 + ...ificationRecipientEmailCreateOrUpdate.json | 15 + ...spaceNotificationRecipientEmailDelete.json | 11 + ...ationRecipientEmailListByNotification.json | 16 + .../ResourceId-NotificationId.json | 53 ++ ...ResourceId-NotificationNotificationId.json | 62 +++ ...sourceId-NotificationRecipientEmailId.json | 71 +++ .../ResourceId-RecipientEmailId.json | 62 +++ .../Constant-NotificationName.json | 34 ++ .../Model-RecipientUserContract.json | 57 +++ ...odel-RecipientUsersContractProperties.json | 18 + .../Operation-CheckEntityExists.json | 10 + .../Operation-CreateOrUpdate.json | 15 + .../Operation-Delete.json | 11 + .../Operation-ListByNotification.json | 16 + ...icationRecipientUserCheckEntityExists.json | 10 + ...tificationRecipientUserCreateOrUpdate.json | 15 + ...kspaceNotificationRecipientUserDelete.json | 11 + ...cationRecipientUserListByNotification.json | 16 + .../ResourceId-NotificationId.json | 53 ++ ...ResourceId-NotificationNotificationId.json | 62 +++ ...esourceId-NotificationRecipientUserId.json | 71 +++ .../ResourceId-RecipientUserId.json | 62 +++ .../Model-ClientSecretContract.json | 18 + .../Model-OpenidConnectProviderContract.json | 57 +++ ...enidConnectProviderContractProperties.json | 96 ++++ ...l-OpenidConnectProviderUpdateContract.json | 18 + ...nnectProviderUpdateContractProperties.json | 96 ++++ .../Operation-CreateOrUpdate.json | 31 ++ .../Operation-Delete.json | 23 + .../OpenidConnectProvider/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../Operation-ListSecrets.json | 15 + .../Operation-Update.json | 30 ++ .../ResourceId-OpenidConnectProviderId.json | 52 ++ .../ResourceId-ServiceId.json | 43 ++ .../Model-EndpointDependency.json | 35 ++ .../Model-EndpointDetail.json | 31 ++ .../Model-OutboundEnvironmentEndpoint.json | 35 ++ .../Operation-ListByService.json | 16 + .../ResourceId-ServiceId.json | 43 ++ .../Constant-ConnectionStatus.json | 22 + .../Constant-ConnectivityCheckProtocol.json | 18 + .../Constant-IssueType.json | 42 ++ .../Constant-Method.json | 14 + .../Constant-Origin.json | 18 + .../Constant-PreferredIPVersion.json | 10 + .../Constant-Severity.json | 14 + .../Model-ConnectivityCheckRequest.json | 70 +++ ...l-ConnectivityCheckRequestDestination.json | 31 ++ ...vityCheckRequestProtocolConfiguration.json | 18 + ...rotocolConfigurationHTTPConfiguration.json | 52 ++ .../Model-ConnectivityCheckRequestSource.json | 31 ++ .../Model-ConnectivityCheckResponse.json | 100 ++++ .../Model-ConnectivityHop.json | 91 ++++ .../Model-ConnectivityIssue.json | 65 +++ .../Model-HTTPHeader.json | 31 ++ .../Operation-Async.json | 20 + .../ResourceId-ServiceId.json | 43 ++ .../Policy/Constant-PolicyContentFormat.json | 22 + .../Policy/Constant-PolicyExportFormat.json | 14 + .../Policy/Model-PolicyContract.json | 57 +++ .../Model-PolicyContractProperties.json | 31 ++ .../Policy/Operation-CreateOrUpdate.json | 32 ++ .../2024-05-01/Policy/Operation-Delete.json | 24 + .../2024-05-01/Policy/Operation-Get.json | 27 + .../Policy/Operation-GetEntityTag.json | 11 + .../Policy/Operation-ListByService.json | 16 + .../Policy/ResourceId-ServiceId.json | 43 ++ .../Constant-PolicyScopeContract.json | 26 + .../Model-PolicyDescriptionCollection.json | 35 ++ .../Model-PolicyDescriptionContract.json | 57 +++ ...l-PolicyDescriptionContractProperties.json | 31 ++ .../Operation-ListByService.json | 27 + .../ResourceId-ServiceId.json | 43 ++ .../Constant-PolicyFragmentContentFormat.json | 14 + .../Model-PolicyFragmentContract.json | 57 +++ ...odel-PolicyFragmentContractProperties.json | 57 +++ .../PolicyFragment/Model-Resource.json | 44 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../PolicyFragment/Operation-Delete.json | 23 + .../PolicyFragment/Operation-Get.json | 26 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 58 +++ .../Operation-ListReferences.json | 38 ++ ...WorkspacePolicyFragmentCreateOrUpdate.json | 31 ++ ...eration-WorkspacePolicyFragmentDelete.json | 23 + .../Operation-WorkspacePolicyFragmentGet.json | 26 + ...n-WorkspacePolicyFragmentGetEntityTag.json | 10 + ...-WorkspacePolicyFragmentListByService.json | 58 +++ ...WorkspacePolicyFragmentListReferences.json | 38 ++ .../ResourceId-PolicyFragmentId.json | 52 ++ .../PolicyFragment/ResourceId-ServiceId.json | 43 ++ .../ResourceId-WorkspaceId.json | 52 ++ .../ResourceId-WorkspacePolicyFragmentId.json | 61 +++ ...Constant-PolicyRestrictionRequireBase.json | 14 + .../Model-PolicyRestrictionContract.json | 57 +++ ...l-PolicyRestrictionContractProperties.json | 31 ++ ...Model-PolicyRestrictionUpdateContract.json | 18 + .../Operation-CreateOrUpdate.json | 31 ++ .../PolicyRestriction/Operation-Delete.json | 23 + .../PolicyRestriction/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../PolicyRestriction/Operation-Update.json | 30 ++ .../ResourceId-PolicyRestrictionId.json | 52 ++ ...Constant-PolicyRestrictionRequireBase.json | 14 + .../Model-PolicyRestrictionContract.json | 57 +++ ...l-PolicyRestrictionContractProperties.json | 31 ++ ...ration-PolicyRestrictionListByService.json | 16 + .../ResourceId-ServiceId.json | 43 ++ .../Constant-AsyncOperationStatus.json | 22 + .../Model-ErrorFieldContract.json | 44 ++ .../Model-ErrorResponseBody.json | 48 ++ .../Model-OperationResultContract.json | 57 +++ ...del-OperationResultContractProperties.json | 102 ++++ .../Model-OperationResultLogItemContract.json | 44 ++ ...PolicyRestrictionValidationsByService.json | 16 + .../ResourceId-ServiceId.json | 43 ++ .../Constant-PortalSettingsCspMode.json | 18 + .../Model-PortalConfigContract.json | 57 +++ .../Model-PortalConfigCorsProperties.json | 22 + .../Model-PortalConfigCspProperties.json | 52 ++ ...odel-PortalConfigDelegationProperties.json | 57 +++ .../Model-PortalConfigProperties.json | 83 ++++ .../Model-PortalConfigPropertiesSignin.json | 18 + .../Model-PortalConfigPropertiesSignup.json | 18 + ...-PortalConfigTermsOfServiceProperties.json | 31 ++ .../Operation-CreateOrUpdate.json | 30 ++ .../PortalConfig/Operation-Get.json | 14 + .../PortalConfig/Operation-GetEntityTag.json | 10 + .../PortalConfig/Operation-ListByService.json | 16 + .../PortalConfig/Operation-Update.json | 30 ++ .../ResourceId-PortalConfigId.json | 52 ++ .../PortalConfig/ResourceId-ServiceId.json | 43 ++ .../Constant-PortalRevisionStatus.json | 22 + .../Model-PortalRevisionContract.json | 57 +++ ...odel-PortalRevisionContractProperties.json | 98 ++++ .../Operation-CreateOrUpdate.json | 18 + .../PortalRevision/Operation-Get.json | 14 + .../Operation-GetEntityTag.json | 10 + .../Operation-ListByService.json | 48 ++ .../PortalRevision/Operation-Update.json | 31 ++ .../ResourceId-PortalRevisionId.json | 52 ++ .../PortalRevision/ResourceId-ServiceId.json | 43 ++ .../Model-PortalSettingsCollection.json | 35 ++ .../Model-PortalSettingsContract.json | 57 +++ ...odel-PortalSettingsContractProperties.json | 83 ++++ ...istrationDelegationSettingsProperties.json | 18 + ...criptionsDelegationSettingsProperties.json | 18 + .../Model-TermsOfServiceProperties.json | 44 ++ .../Operation-ListByService.json | 15 + .../PortalSettings/ResourceId-ServiceId.json | 43 ++ ...teEndpointConnectionProvisioningState.json | 22 + ...rivateEndpointServiceConnectionStatus.json | 18 + .../Model-PrivateEndpoint.json | 18 + .../Model-PrivateEndpointConnection.json | 57 +++ ...l-PrivateEndpointConnectionListResult.json | 22 + ...l-PrivateEndpointConnectionProperties.json | 44 ++ ...odel-PrivateEndpointConnectionRequest.json | 31 ++ ...teEndpointConnectionRequestProperties.json | 18 + .../Model-PrivateLinkResource.json | 57 +++ .../Model-PrivateLinkResourceListResult.json | 22 + .../Model-PrivateLinkResourceProperties.json | 52 ++ ...del-PrivateLinkServiceConnectionState.json | 44 ++ ...ivateEndpointConnectionCreateOrUpdate.json | 19 + ...ation-PrivateEndpointConnectionDelete.json | 12 + ...on-PrivateEndpointConnectionGetByName.json | 14 + ...pointConnectionGetPrivateLinkResource.json | 14 + ...rivateEndpointConnectionListByService.json | 15 + ...intConnectionListPrivateLinkResources.json | 15 + ...esourceId-PrivateEndpointConnectionId.json | 52 ++ .../ResourceId-PrivateLinkResourceId.json | 52 ++ .../ResourceId-ServiceId.json | 43 ++ .../Product/Constant-ProductState.json | 14 + .../Product/Model-ProductContract.json | 57 +++ .../Model-ProductContractProperties.json | 96 ++++ .../Model-ProductUpdateParameters.json | 18 + .../Model-ProductUpdateProperties.json | 96 ++++ .../Product/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Product/Operation-Delete.json | 33 ++ .../2024-05-01/Product/Operation-Get.json | 14 + .../Product/Operation-GetEntityTag.json | 10 + .../Product/Operation-ListByService.json | 68 +++ .../2024-05-01/Product/Operation-Update.json | 30 ++ ...ration-WorkspaceProductCreateOrUpdate.json | 31 ++ .../Operation-WorkspaceProductDelete.json | 33 ++ .../Operation-WorkspaceProductGet.json | 14 + ...peration-WorkspaceProductGetEntityTag.json | 10 + ...eration-WorkspaceProductListByService.json | 68 +++ .../Operation-WorkspaceProductUpdate.json | 30 ++ .../Product/ResourceId-ProductId.json | 52 ++ .../Product/ResourceId-ServiceId.json | 43 ++ .../Product/ResourceId-WorkspaceId.json | 52 ++ .../ResourceId-WorkspaceProductId.json | 61 +++ .../ProductApi/Constant-ApiType.json | 30 ++ .../Constant-BearerTokenSendingMethods.json | 14 + .../ProductApi/Constant-Protocol.json | 22 + .../ProductApi/Constant-VersioningScheme.json | 18 + .../Model-ApiContactInformation.json | 44 ++ .../ProductApi/Model-ApiContract.json | 57 +++ .../Model-ApiContractProperties.json | 295 +++++++++++ .../Model-ApiLicenseInformation.json | 31 ++ .../Model-ApiVersionSetContractDetails.json | 83 ++++ .../Model-AuthenticationSettingsContract.json | 65 +++ ...-OAuth2AuthenticationSettingsContract.json | 31 ++ ...-OpenIdAuthenticationSettingsContract.json | 35 ++ ...SubscriptionKeyParameterNamesContract.json | 31 ++ .../Operation-CheckEntityExists.json | 10 + .../ProductApi/Operation-CreateOrUpdate.json | 15 + .../ProductApi/Operation-Delete.json | 11 + .../ProductApi/Operation-ListByProduct.json | 48 ++ .../ProductApi/ResourceId-ProductApiId.json | 61 +++ .../ProductApi/ResourceId-ProductId.json | 52 ++ .../Model-ProductApiLinkContract.json | 57 +++ ...odel-ProductApiLinkContractProperties.json | 18 + .../Operation-CreateOrUpdate.json | 19 + .../ProductApiLink/Operation-Delete.json | 11 + .../ProductApiLink/Operation-Get.json | 14 + .../Operation-ListByProduct.json | 48 ++ ...WorkspaceProductApiLinkCreateOrUpdate.json | 19 + ...eration-WorkspaceProductApiLinkDelete.json | 11 + .../Operation-WorkspaceProductApiLinkGet.json | 14 + ...-WorkspaceProductApiLinkListByProduct.json | 48 ++ .../ResourceId-ProductApiLinkId.json | 61 +++ .../ProductApiLink/ResourceId-ProductId.json | 52 ++ .../ResourceId-WorkspaceProductApiLinkId.json | 70 +++ .../ResourceId-WorkspaceProductId.json | 61 +++ .../ProductGroup/Constant-GroupType.json | 18 + .../ProductGroup/Model-GroupContract.json | 57 +++ .../Model-GroupContractProperties.json | 70 +++ .../Operation-CheckEntityExists.json | 10 + .../Operation-CreateOrUpdate.json | 15 + .../ProductGroup/Operation-Delete.json | 11 + .../ProductGroup/Operation-ListByProduct.json | 48 ++ .../ResourceId-ProductGroupId.json | 61 +++ .../ProductGroup/ResourceId-ProductId.json | 52 ++ .../Model-ProductGroupLinkContract.json | 57 +++ ...el-ProductGroupLinkContractProperties.json | 18 + .../Operation-CreateOrUpdate.json | 19 + .../ProductGroupLink/Operation-Delete.json | 11 + .../ProductGroupLink/Operation-Get.json | 14 + .../Operation-ListByProduct.json | 48 ++ ...rkspaceProductGroupLinkCreateOrUpdate.json | 19 + ...ation-WorkspaceProductGroupLinkDelete.json | 11 + ...peration-WorkspaceProductGroupLinkGet.json | 14 + ...orkspaceProductGroupLinkListByProduct.json | 48 ++ .../ResourceId-GroupLinkId.json | 61 +++ .../ResourceId-ProductGroupLinkId.json | 70 +++ .../ResourceId-ProductId.json | 52 ++ .../ResourceId-WorkspaceProductId.json | 61 +++ .../Constant-PolicyContentFormat.json | 22 + .../Constant-PolicyExportFormat.json | 14 + .../ProductPolicy/Model-PolicyContract.json | 57 +++ .../Model-PolicyContractProperties.json | 31 ++ .../Operation-CreateOrUpdate.json | 32 ++ .../ProductPolicy/Operation-Delete.json | 24 + .../ProductPolicy/Operation-Get.json | 27 + .../ProductPolicy/Operation-GetEntityTag.json | 11 + .../Operation-ListByProduct.json | 16 + ...-WorkspaceProductPolicyCreateOrUpdate.json | 32 ++ ...peration-WorkspaceProductPolicyDelete.json | 24 + .../Operation-WorkspaceProductPolicyGet.json | 27 + ...on-WorkspaceProductPolicyGetEntityTag.json | 11 + ...n-WorkspaceProductPolicyListByProduct.json | 16 + .../ProductPolicy/ResourceId-ProductId.json | 52 ++ .../ResourceId-WorkspaceProductId.json | 61 +++ .../Constant-SubscriptionState.json | 30 ++ .../Model-SubscriptionContract.json | 57 +++ .../Model-SubscriptionContractProperties.json | 179 +++++++ .../ProductSubscription/Operation-List.json | 48 ++ .../ResourceId-ProductId.json | 52 ++ .../ProductTag/Model-TagContract.json | 57 +++ .../Model-TagContractProperties.json | 18 + .../Operation-TagAssignToProduct.json | 15 + .../Operation-TagDetachFromProduct.json | 11 + .../ProductTag/Operation-TagGetByProduct.json | 14 + .../Operation-TagGetEntityStateByProduct.json | 10 + .../Operation-TagListByProduct.json | 48 ++ .../ProductTag/ResourceId-ProductId.json | 52 ++ .../ProductTag/ResourceId-ProductTagId.json | 61 +++ .../ProductWiki/Model-WikiContract.json | 57 +++ .../Model-WikiContractProperties.json | 22 + .../Model-WikiDocumentationContract.json | 18 + .../ProductWiki/Model-WikiUpdateContract.json | 18 + .../ProductWiki/Operation-CreateOrUpdate.json | 32 ++ .../ProductWiki/Operation-Delete.json | 24 + .../2024-05-01/ProductWiki/Operation-Get.json | 15 + .../ProductWiki/Operation-GetEntityTag.json | 11 + .../ProductWiki/Operation-List.json | 48 ++ .../ProductWiki/Operation-Update.json | 31 ++ .../ProductWiki/ResourceId-ProductId.json | 52 ++ .../ProductsByTag/Constant-ApiType.json | 30 ++ .../Constant-BearerTokenSendingMethods.json | 14 + .../ProductsByTag/Constant-ProductState.json | 14 + .../ProductsByTag/Constant-Protocol.json | 22 + .../Model-ApiContactInformation.json | 44 ++ .../Model-ApiLicenseInformation.json | 31 ++ ...odel-ApiTagResourceContractProperties.json | 269 ++++++++++ .../Model-AuthenticationSettingsContract.json | 65 +++ ...-OAuth2AuthenticationSettingsContract.json | 31 ++ ...-OpenIdAuthenticationSettingsContract.json | 35 ++ ...perationTagResourceContractProperties.json | 109 ++++ ...-ProductTagResourceContractProperties.json | 109 ++++ ...SubscriptionKeyParameterNamesContract.json | 31 ++ .../Model-TagResourceContract.json | 57 +++ ...odel-TagTagResourceContractProperties.json | 31 ++ .../Operation-ProductListByTags.json | 58 +++ .../ProductsByTag/ResourceId-ServiceId.json | 43 ++ .../Model-QuotaCounterCollection.json | 48 ++ .../Model-QuotaCounterContract.json | 72 +++ ...l-QuotaCounterValueContractProperties.json | 31 ++ ...Model-QuotaCounterValueUpdateContract.json | 18 + .../Operation-ListByService.json | 15 + .../QuotaByCounterKeys/Operation-Update.json | 18 + .../ResourceId-QuotaId.json | 52 ++ .../Model-QuotaCounterContract.json | 72 +++ ...l-QuotaCounterValueContractProperties.json | 31 ++ ...Model-QuotaCounterValueUpdateContract.json | 18 + .../QuotaByPeriodKeys/Operation-Get.json | 14 + .../QuotaByPeriodKeys/Operation-Update.json | 18 + .../ResourceId-PeriodId.json | 61 +++ .../Region/Model-RegionContract.json | 44 ++ .../Region/Operation-ListByService.json | 16 + .../Region/ResourceId-ServiceId.json | 43 ++ .../Reports/Model-ReportRecordContract.json | 344 +++++++++++++ .../Model-RequestReportCollection.json | 35 ++ .../Model-RequestReportRecordContract.json | 240 +++++++++ .../Reports/Operation-ListByApi.json | 58 +++ .../Reports/Operation-ListByGeo.json | 48 ++ .../Reports/Operation-ListByOperation.json | 58 +++ .../Reports/Operation-ListByProduct.json | 58 +++ .../Reports/Operation-ListByRequest.json | 47 ++ .../Reports/Operation-ListBySubscription.json | 58 +++ .../Reports/Operation-ListByTime.json | 68 +++ .../Reports/Operation-ListByUser.json | 58 +++ .../Reports/ResourceId-ServiceId.json | 43 ++ .../Schema/Constant-SchemaType.json | 14 + .../Schema/Model-GlobalSchemaContract.json | 57 +++ .../Model-GlobalSchemaContractProperties.json | 70 +++ .../Operation-GlobalSchemaCreateOrUpdate.json | 31 ++ .../Schema/Operation-GlobalSchemaDelete.json | 23 + .../Schema/Operation-GlobalSchemaGet.json | 14 + .../Operation-GlobalSchemaGetEntityTag.json | 10 + .../Operation-GlobalSchemaListByService.json | 48 ++ ...n-WorkspaceGlobalSchemaCreateOrUpdate.json | 31 ++ ...Operation-WorkspaceGlobalSchemaDelete.json | 23 + .../Operation-WorkspaceGlobalSchemaGet.json | 14 + ...ion-WorkspaceGlobalSchemaGetEntityTag.json | 10 + ...on-WorkspaceGlobalSchemaListByService.json | 48 ++ .../Schema/ResourceId-SchemaId.json | 52 ++ .../Schema/ResourceId-ServiceId.json | 43 ++ .../Schema/ResourceId-WorkspaceId.json | 52 ++ .../Schema/ResourceId-WorkspaceSchemaId.json | 61 +++ .../Model-PortalSigninSettingProperties.json | 18 + .../Model-PortalSigninSettings.json | 57 +++ .../Operation-CreateOrUpdate.json | 31 ++ .../SignInSettings/Operation-Get.json | 15 + .../Operation-GetEntityTag.json | 11 + .../SignInSettings/Operation-Update.json | 27 + .../SignInSettings/ResourceId-ServiceId.json | 43 ++ .../Model-PortalSignupSettings.json | 57 +++ .../Model-PortalSignupSettingsProperties.json | 31 ++ .../Model-TermsOfServiceProperties.json | 44 ++ .../Operation-CreateOrUpdate.json | 31 ++ .../SignUpSettings/Operation-Get.json | 15 + .../Operation-GetEntityTag.json | 11 + .../SignUpSettings/Operation-Update.json | 27 + .../SignUpSettings/ResourceId-ServiceId.json | 43 ++ ...ant-ApiManagementSkuCapacityScaleType.json | 18 + ...piManagementSkuRestrictionsReasonCode.json | 14 + ...tant-ApiManagementSkuRestrictionsType.json | 14 + .../Skus/Model-ApiManagementSku.json | 198 ++++++++ .../Model-ApiManagementSkuCapabilities.json | 31 ++ .../Skus/Model-ApiManagementSkuCapacity.json | 57 +++ .../Skus/Model-ApiManagementSkuCosts.json | 44 ++ .../Model-ApiManagementSkuLocationInfo.json | 48 ++ ...Model-ApiManagementSkuRestrictionInfo.json | 35 ++ .../Model-ApiManagementSkuRestrictions.json | 61 +++ .../Model-ApiManagementSkuZoneDetails.json | 39 ++ .../Skus/Operation-ApiManagementSkusList.json | 16 + .../Skus/ResourceId-SubscriptionId.json | 16 + .../Subscription/Constant-AppType.json | 14 + .../Constant-SubscriptionState.json | 30 ++ .../Model-SubscriptionContract.json | 57 +++ .../Model-SubscriptionContractProperties.json | 179 +++++++ ...SubscriptionCreateParameterProperties.json | 96 ++++ .../Model-SubscriptionCreateParameters.json | 18 + .../Model-SubscriptionKeysContract.json | 31 ++ ...SubscriptionUpdateParameterProperties.json | 123 +++++ .../Model-SubscriptionUpdateParameters.json | 18 + .../Operation-CreateOrUpdate.json | 51 ++ .../Subscription/Operation-Delete.json | 23 + .../Subscription/Operation-Get.json | 14 + .../Subscription/Operation-GetEntityTag.json | 10 + .../Subscription/Operation-List.json | 48 ++ .../Subscription/Operation-ListSecrets.json | 15 + .../Operation-RegeneratePrimaryKey.json | 11 + .../Operation-RegenerateSecondaryKey.json | 11 + .../Subscription/Operation-Update.json | 50 ++ .../Operation-UserSubscriptionGet.json | 14 + ...n-WorkspaceSubscriptionCreateOrUpdate.json | 51 ++ ...Operation-WorkspaceSubscriptionDelete.json | 23 + .../Operation-WorkspaceSubscriptionGet.json | 14 + ...ion-WorkspaceSubscriptionGetEntityTag.json | 10 + .../Operation-WorkspaceSubscriptionList.json | 48 ++ ...tion-WorkspaceSubscriptionListSecrets.json | 15 + ...spaceSubscriptionRegeneratePrimaryKey.json | 11 + ...aceSubscriptionRegenerateSecondaryKey.json | 11 + ...Operation-WorkspaceSubscriptionUpdate.json | 50 ++ .../Subscription/ResourceId-ServiceId.json | 43 ++ .../ResourceId-Subscriptions2Id.json | 52 ++ .../ResourceId-UserSubscriptions2Id.json | 61 +++ .../Subscription/ResourceId-WorkspaceId.json | 52 ++ .../ResourceId-WorkspaceSubscriptions2Id.json | 61 +++ .../2024-05-01/Tag/Model-TagContract.json | 57 +++ .../Tag/Model-TagContractProperties.json | 18 + .../Tag/Model-TagCreateUpdateParameters.json | 18 + .../Tag/Operation-CreateOrUpdate.json | 31 ++ .../2024-05-01/Tag/Operation-Delete.json | 23 + .../2024-05-01/Tag/Operation-Get.json | 14 + .../Tag/Operation-GetEntityState.json | 10 + .../Tag/Operation-ListByService.json | 58 +++ .../2024-05-01/Tag/Operation-Update.json | 30 ++ .../Operation-WorkspaceTagCreateOrUpdate.json | 31 ++ .../Tag/Operation-WorkspaceTagDelete.json | 23 + .../Tag/Operation-WorkspaceTagGet.json | 14 + .../Operation-WorkspaceTagGetEntityState.json | 10 + .../Operation-WorkspaceTagListByService.json | 58 +++ .../Tag/Operation-WorkspaceTagUpdate.json | 30 ++ .../2024-05-01/Tag/ResourceId-ServiceId.json | 43 ++ .../2024-05-01/Tag/ResourceId-TagId.json | 52 ++ .../Tag/ResourceId-WorkspaceId.json | 52 ++ .../Tag/ResourceId-WorkspaceTagId.json | 61 +++ .../TagApiLink/Model-TagApiLinkContract.json | 57 +++ .../Model-TagApiLinkContractProperties.json | 18 + .../TagApiLink/Operation-CreateOrUpdate.json | 19 + .../TagApiLink/Operation-Delete.json | 11 + .../2024-05-01/TagApiLink/Operation-Get.json | 14 + .../TagApiLink/Operation-ListByProduct.json | 48 ++ ...ion-WorkspaceTagApiLinkCreateOrUpdate.json | 19 + .../Operation-WorkspaceTagApiLinkDelete.json | 11 + .../Operation-WorkspaceTagApiLinkGet.json | 14 + ...tion-WorkspaceTagApiLinkListByProduct.json | 48 ++ .../TagApiLink/ResourceId-ApiLinkId.json | 61 +++ .../TagApiLink/ResourceId-TagApiLinkId.json | 70 +++ .../TagApiLink/ResourceId-TagId.json | 52 ++ .../TagApiLink/ResourceId-WorkspaceTagId.json | 61 +++ .../Model-TagOperationLinkContract.json | 57 +++ ...el-TagOperationLinkContractProperties.json | 18 + .../Operation-CreateOrUpdate.json | 19 + .../TagOperationLink/Operation-Delete.json | 11 + .../TagOperationLink/Operation-Get.json | 14 + .../Operation-ListByProduct.json | 48 ++ ...rkspaceTagOperationLinkCreateOrUpdate.json | 19 + ...ation-WorkspaceTagOperationLinkDelete.json | 11 + ...peration-WorkspaceTagOperationLinkGet.json | 14 + ...orkspaceTagOperationLinkListByProduct.json | 48 ++ .../ResourceId-OperationLinkId.json | 61 +++ .../TagOperationLink/ResourceId-TagId.json | 52 ++ .../ResourceId-TagOperationLinkId.json | 70 +++ .../ResourceId-WorkspaceTagId.json | 61 +++ .../Model-TagProductLinkContract.json | 57 +++ ...odel-TagProductLinkContractProperties.json | 18 + .../Operation-CreateOrUpdate.json | 19 + .../TagProductLink/Operation-Delete.json | 11 + .../TagProductLink/Operation-Get.json | 14 + .../Operation-ListByProduct.json | 48 ++ ...WorkspaceTagProductLinkCreateOrUpdate.json | 19 + ...eration-WorkspaceTagProductLinkDelete.json | 11 + .../Operation-WorkspaceTagProductLinkGet.json | 14 + ...-WorkspaceTagProductLinkListByProduct.json | 48 ++ .../ResourceId-ProductLinkId.json | 61 +++ .../TagProductLink/ResourceId-TagId.json | 52 ++ .../ResourceId-TagProductLinkId.json | 70 +++ .../ResourceId-WorkspaceTagId.json | 61 +++ .../TagResource/Constant-ApiType.json | 30 ++ .../Constant-BearerTokenSendingMethods.json | 14 + .../TagResource/Constant-ProductState.json | 14 + .../TagResource/Constant-Protocol.json | 22 + .../Model-ApiContactInformation.json | 44 ++ .../Model-ApiLicenseInformation.json | 31 ++ ...odel-ApiTagResourceContractProperties.json | 269 ++++++++++ .../Model-AuthenticationSettingsContract.json | 65 +++ ...-OAuth2AuthenticationSettingsContract.json | 31 ++ ...-OpenIdAuthenticationSettingsContract.json | 35 ++ ...perationTagResourceContractProperties.json | 109 ++++ ...-ProductTagResourceContractProperties.json | 109 ++++ ...SubscriptionKeyParameterNamesContract.json | 31 ++ .../Model-TagResourceContract.json | 57 +++ ...odel-TagTagResourceContractProperties.json | 31 ++ .../TagResource/Operation-ListByService.json | 48 ++ .../TagResource/ResourceId-ServiceId.json | 43 ++ .../TenantAccess/Constant-AccessIdName.json | 14 + .../Model-AccessInformationContract.json | 57 +++ ...l-AccessInformationContractProperties.json | 44 ++ ...sInformationCreateParameterProperties.json | 57 +++ ...del-AccessInformationCreateParameters.json | 18 + ...odel-AccessInformationSecretsContract.json | 70 +++ ...sInformationUpdateParameterProperties.json | 18 + ...del-AccessInformationUpdateParameters.json | 18 + .../TenantAccess/Operation-Create.json | 30 ++ .../TenantAccess/Operation-Get.json | 14 + .../TenantAccess/Operation-GetEntityTag.json | 10 + .../TenantAccess/Operation-ListByService.json | 28 ++ .../TenantAccess/Operation-ListSecrets.json | 15 + .../Operation-RegeneratePrimaryKey.json | 11 + .../Operation-RegenerateSecondaryKey.json | 11 + .../TenantAccess/Operation-Update.json | 30 ++ .../TenantAccess/ResourceId-AccessId.json | 53 ++ .../TenantAccess/ResourceId-ServiceId.json | 43 ++ .../Constant-AccessIdName.json | 14 + .../Operation-RegeneratePrimaryKey.json | 11 + .../Operation-RegenerateSecondaryKey.json | 11 + .../TenantAccessGit/ResourceId-AccessId.json | 53 ++ .../Constant-AsyncOperationStatus.json | 22 + ...eployConfigurationParameterProperties.json | 31 ++ .../Model-DeployConfigurationParameters.json | 18 + .../Model-ErrorFieldContract.json | 44 ++ .../Model-ErrorResponseBody.json | 48 ++ .../Model-OperationResultContract.json | 57 +++ ...del-OperationResultContractProperties.json | 102 ++++ .../Model-OperationResultLogItemContract.json | 44 ++ .../Model-SaveConfigurationParameter.json | 18 + ...-SaveConfigurationParameterProperties.json | 31 ++ .../TenantConfiguration/Operation-Deploy.json | 20 + .../TenantConfiguration/Operation-Save.json | 20 + .../Operation-Validate.json | 20 + .../ResourceId-ServiceId.json | 43 ++ ...-TenantConfigurationSyncStateContract.json | 57 +++ ...figurationSyncStateContractProperties.json | 111 +++++ ...ation-TenantConfigurationGetSyncState.json | 15 + .../ResourceId-ServiceId.json | 43 ++ .../Model-TenantSettingsContract.json | 57 +++ ...odel-TenantSettingsContractProperties.json | 22 + .../TenantSettings/Operation-Get.json | 15 + .../Operation-ListByService.json | 28 ++ .../TenantSettings/ResourceId-ServiceId.json | 43 ++ .../2024-05-01/User/Constant-AppType.json | 14 + .../User/Constant-Confirmation.json | 14 + .../2024-05-01/User/Constant-GroupType.json | 18 + .../2024-05-01/User/Constant-UserState.json | 22 + .../User/Model-GroupContractProperties.json | 70 +++ .../2024-05-01/User/Model-UserContract.json | 57 +++ .../User/Model-UserContractProperties.json | 118 +++++ .../Model-UserCreateParameterProperties.json | 126 +++++ .../User/Model-UserCreateParameters.json | 18 + .../User/Model-UserIdentityContract.json | 31 ++ .../User/Model-UserUpdateParameters.json | 18 + .../Model-UserUpdateParametersProperties.json | 100 ++++ .../User/Operation-CreateOrUpdate.json | 41 ++ .../2024-05-01/User/Operation-Delete.json | 53 ++ .../2024-05-01/User/Operation-Get.json | 14 + .../User/Operation-GetEntityTag.json | 10 + .../User/Operation-ListByService.json | 58 +++ .../2024-05-01/User/Operation-Update.json | 30 ++ .../2024-05-01/User/ResourceId-ServiceId.json | 43 ++ .../2024-05-01/User/ResourceId-UserId.json | 52 ++ .../Constant-AppType.json | 14 + ...peration-UserConfirmationPasswordSend.json | 23 + .../ResourceId-UserId.json | 52 ++ .../UserGroup/Constant-GroupType.json | 18 + .../UserGroup/Model-GroupContract.json | 57 +++ .../Model-GroupContractProperties.json | 70 +++ .../2024-05-01/UserGroup/Operation-List.json | 48 ++ .../UserGroup/ResourceId-UserId.json | 52 ++ .../Model-UserIdentityContract.json | 31 ++ .../Operation-UserIdentitiesList.json | 16 + .../UserIdentity/ResourceId-UserId.json | 52 ++ .../Constant-SubscriptionState.json | 30 ++ .../Model-SubscriptionContract.json | 57 +++ .../Model-SubscriptionContractProperties.json | 179 +++++++ .../UserSubscription/Operation-List.json | 48 ++ .../UserSubscription/ResourceId-UserId.json | 52 ++ .../UserToken/Constant-KeyType.json | 14 + .../Model-UserTokenParameterProperties.json | 32 ++ .../UserToken/Model-UserTokenParameters.json | 18 + .../UserToken/Model-UserTokenResult.json | 18 + .../Operation-UserGetSharedAccessToken.json | 19 + .../UserToken/ResourceId-UserId.json | 52 ++ .../Users/Model-GenerateSsoUrlResult.json | 18 + .../Users/Operation-UserGenerateSsoUrl.json | 15 + .../2024-05-01/Users/ResourceId-UserId.json | 52 ++ .../Workspace/Model-WorkspaceContract.json | 57 +++ .../Model-WorkspaceContractProperties.json | 31 ++ .../Workspace/Operation-CreateOrUpdate.json | 31 ++ .../Workspace/Operation-Delete.json | 23 + .../2024-05-01/Workspace/Operation-Get.json | 14 + .../Workspace/Operation-GetEntityTag.json | 10 + .../Workspace/Operation-ListByService.json | 48 ++ .../Workspace/Operation-Update.json | 30 ++ .../Workspace/ResourceId-ServiceId.json | 43 ++ .../Workspace/ResourceId-WorkspaceId.json | 52 ++ .../Constant-PolicyContentFormat.json | 22 + .../Constant-PolicyExportFormat.json | 14 + .../WorkspacePolicy/Model-PolicyContract.json | 57 +++ .../Model-PolicyContractProperties.json | 31 ++ .../Operation-CreateOrUpdate.json | 32 ++ .../WorkspacePolicy/Operation-Delete.json | 24 + .../WorkspacePolicy/Operation-Get.json | 27 + .../Operation-GetEntityTag.json | 11 + .../WorkspacePolicy/Operation-ListByApi.json | 16 + .../ResourceId-WorkspaceId.json | 52 ++ ...el-MariaDBLinkedServiceTypeProperties.json | 26 + .../ApiVersionDefinition.json | 12 + .../Constant-ProvisioningState.json | 42 ++ .../Model-NginxCertificate.json | 83 ++++ ...del-NginxCertificateErrorResponseBody.json | 31 ++ .../Model-NginxCertificateProperties.json | 110 +++++ .../Operation-CertificatesCreateOrUpdate.json | 19 + .../Operation-CertificatesDelete.json | 12 + .../Operation-CertificatesGet.json | 14 + .../Operation-CertificatesList.json | 16 + .../ResourceId-CertificateId.json | 52 ++ .../ResourceId-NginxDeploymentId.json | 43 ++ .../Constant-ProvisioningState.json | 42 ++ .../Model-NginxConfiguration.json | 83 ++++ .../Model-NginxConfigurationFile.json | 31 ++ .../Model-NginxConfigurationPackage.json | 35 ++ .../Model-NginxConfigurationProperties.json | 78 +++ ...peration-ConfigurationsCreateOrUpdate.json | 19 + .../Operation-ConfigurationsDelete.json | 12 + .../Operation-ConfigurationsGet.json | 14 + .../Operation-ConfigurationsList.json | 16 + .../ResourceId-ConfigurationId.json | 52 ++ .../ResourceId-NginxDeploymentId.json | 43 ++ .../Model-AnalysisCreate.json | 18 + .../Model-AnalysisCreateConfig.json | 65 +++ .../Model-AnalysisDiagnostic.json | 96 ++++ .../Model-AnalysisResult.json | 31 ++ .../Model-AnalysisResultData.json | 22 + .../Model-NginxConfigurationFile.json | 31 ++ .../Model-NginxConfigurationPackage.json | 35 ++ .../Operation-ConfigurationsAnalysis.json | 19 + .../ResourceId-ConfigurationId.json | 52 ++ .../Constant-ActivationState.json | 14 + ...nstant-NginxPrivateIPAllocationMethod.json | 14 + .../Constant-ProvisioningState.json | 42 ++ .../Model-AutoUpgradeProfile.json | 18 + .../Model-NginxDeployment.json | 122 +++++ .../Model-NginxDeploymentProperties.json | 148 ++++++ ...nxDeploymentPropertiesNginxAppProtect.json | 31 ++ ...odel-NginxDeploymentScalingProperties.json | 31 ++ ...entScalingPropertiesAutoScaleSettings.json | 22 + ...Model-NginxDeploymentUpdateParameters.json | 70 +++ ...Model-NginxDeploymentUpdateProperties.json | 83 ++++ ...oymentUpdatePropertiesNginxAppProtect.json | 18 + .../Model-NginxDeploymentUserProfile.json | 18 + .../Model-NginxFrontendIPConfiguration.json | 39 ++ .../NginxDeployment/Model-NginxLogging.json | 18 + ...el-NginxNetworkInterfaceConfiguration.json | 18 + .../Model-NginxNetworkProfile.json | 31 ++ .../Model-NginxPrivateIPAddress.json | 44 ++ .../Model-NginxPublicIPAddress.json | 18 + .../Model-NginxStorageAccount.json | 31 ++ .../NginxDeployment/Model-ResourceSku.json | 18 + .../NginxDeployment/Model-ScaleProfile.json | 31 ++ .../Model-ScaleProfileCapacity.json | 31 ++ ...bApplicationFirewallComponentVersions.json | 31 ++ .../Model-WebApplicationFirewallPackage.json | 32 ++ .../Model-WebApplicationFirewallSettings.json | 18 + .../Model-WebApplicationFirewallStatus.json | 57 +++ .../Operation-DeploymentsCreateOrUpdate.json | 19 + .../Operation-DeploymentsDelete.json | 12 + .../Operation-DeploymentsGet.json | 14 + .../Operation-DeploymentsList.json | 16 + ...ration-DeploymentsListByResourceGroup.json | 16 + .../Operation-DeploymentsUpdate.json | 19 + .../ResourceId-NginxDeploymentId.json | 43 ++ .../ResourceId-ResourceGroupId.json | 25 + .../ResourceId-SubscriptionId.json | 16 + .../resource-manager/metadata.json | 2 +- 1550 files changed, 61832 insertions(+), 1 deletion(-) create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Constant-PolicyComplianceState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-BearerTokenSendingMethods.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-SoapApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-TranslateRequiredQueryParametersConduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-VersioningScheme.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContactInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateParameter.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdatePropertiesWsdlSelector.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiLicenseInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiVersionSetContractDetails.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OAuth2AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OpenIdAuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-SubscriptionKeyParameterNamesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-AlwaysLog.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-DataMaskingMode.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-HTTPCorrelationProtocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-OperationNameFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-SamplingType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-Verbosity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-BodyDiagnosticSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMasking.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMaskingEntity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-HTTPMessageDiagnostic.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-PipelineDiagnosticSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-SamplingSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticListByWorkspace.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiDiagnosticId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiDiagnosticId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-ApiGatewaySkuType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-VirtualNetworkType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayBaseProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayResource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuPropertiesForPatch.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendSubnetConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-FrontendConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-GatewayConfigurationApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-ListByResourceGroup.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-GatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-ApiManagementGatewayConfigConnectionResource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-GatewayConfigConnectionBaseProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-ListByGateway.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-ConfigConnectionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-GatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Constant-State.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiIssueId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-ApiIssueId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-AttachmentId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-ApiIssueId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-CommentId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-ApiGatewaySkuType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-GatewaySkuCapacityScaleType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewayResourceSkuResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySku.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySkuCapacity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Operation-ListAvailableSkus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/ResourceId-GatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-AccessType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateSource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-DeveloperPortalStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-HostnameType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyApiState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyPortalStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-MigrateToStv2Mode.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NameAvailabilityReason.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NatGatewayState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PlatformVersion.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PrivateEndpointServiceConnectionStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PublicNetworkAccess.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-SkuType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-StoreName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-VirtualNetworkType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-AdditionalLocation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceApplyNetworkConfigurationParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceBackupRestoreParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceCheckNameAvailabilityParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetDomainOwnershipIdentifierResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetSsoTokenResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceNameAvailabilityResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceResource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceSkuProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiVersionConstraint.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ArmIdWrapper.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ConfigurationApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-HostnameConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-MigrateToStv2Contract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateEndpointConnectionWrapperProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateLinkServiceConnectionState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-RemotePrivateEndpointConnectionWrapper.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-VirtualNetworkConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ApplyNetworkConfigurationUpdates.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Backup.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CheckNameAvailability.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetDomainOwnershipIdentifier.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetSsoToken.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ListByResourceGroup.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-MigrateToStv2.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Restore.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-ResourceSkuCapacityScaleType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-SkuType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSku.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuCapacity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Operation-ListAvailableServiceSkus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-ApiManagementWorkspaceLinksResource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksBaseProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksGateway.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ApiManagementWorkspaceLinkGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-WorkspaceLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterExampleContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RepresentationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RequestContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ResponseContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-ListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiOperationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-OperationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-WorkspaceApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyExportFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-ListByOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyListByOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-ApiOperationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-OperationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagAssignToOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagDetachFromOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetByOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetEntityStateByOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagListByOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationTagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-BearerTokenSendingMethods.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ProductState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiContactInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiLicenseInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OAuth2AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OpenIdAuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OperationTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ProductTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-SubscriptionKeyParameterNamesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagResourceContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Operation-OperationListByTags.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyExportFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-ListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-WorkspaceApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Constant-ProductState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Operation-ListByApis.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiReleaseId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ReleaseId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-WorkspaceApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Model-ApiRevisionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-WorkspaceApiRevisionListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-WorkspaceApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaDocumentProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-ListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiSchemaId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiSchemaId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagAssignToApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagDetachFromApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetEntityStateByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiTagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionBaseProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionCreateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-TagDescriptionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionDefinition.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Constant-VersioningScheme.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParametersProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ApiVersionSetId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceApiVersionSetId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-ApiVersionSetDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-WorkspaceApiVersionSetDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-ApiVersionSetId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-WorkspaceApiVersionSetId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiDocumentationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-BearerTokenSendingMethods.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ProductState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiContactInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiLicenseInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OAuth2AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OpenIdAuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OperationTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ProductTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-SubscriptionKeyParameterNamesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagResourceContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Operation-ApiListByTags.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-AuthorizationType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-OAuth2GrantType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationError.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/ResourceId-AuthorizationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-ListByAuthorization.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AccessPolicyId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AuthorizationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Model-AuthorizationConfirmConsentCodeRequestContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Operation-AuthorizationConfirmConsentCode.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/ResourceId-AuthorizationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginRequestContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginResponseContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Operation-Post.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/ResourceId-AuthorizationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2GrantTypes.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2Settings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-AuthorizationProviderId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-AuthorizationMethod.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-BearerTokenSendingMethod.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-ClientAuthenticationMethod.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-GrantType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerSecretsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-TokenBodyParameterContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListSecrets.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-AuthorizationServerId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-AuthorizationType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-OAuth2GrantType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationError.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Operation-AuthorizationListByAuthorizationProvider.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/ResourceId-AuthorizationProviderId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendProtocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendAuthorizationHeaderCredentials.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendBaseParametersPool.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCircuitBreaker.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCredentialsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendPoolItem.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProxyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendServiceFabricClusterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendTlsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerFailureCondition.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerRule.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-FailureStatusCodeRange.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-X509CertificateName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendListByWorkspace.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-BackendId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceBackendId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Operation-BackendReconnect.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/ResourceId-BackendId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-CacheId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractCreateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultLastAccessStatusContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-RefreshSecret.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateListByWorkspace.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateRefreshSecret.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-CertificateId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceCertificateId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ContentTypeId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Model-ContentItemContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentItemId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentTypeId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettingsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalSettingValidationKeyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-RegistrationDelegationSettingsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-SubscriptionsDelegationSettingsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-ListSecrets.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-GetByName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-ListBySubscription.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-Purge.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-DeletedServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-AlwaysLog.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-DataMaskingMode.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-HTTPCorrelationProtocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-OperationNameFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-SamplingType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-Verbosity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-BodyDiagnosticSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMasking.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMaskingEntity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-HTTPMessageDiagnostic.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-PipelineDiagnosticSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-SamplingSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticListByWorkspace.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-DiagnosticId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceDiagnosticId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-DocumentationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateParametersContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Constant-TemplateName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateParametersContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/ResourceId-TemplateId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-ResourceLocationDataContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-BearerTokenSendingMethods.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-VersioningScheme.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContactInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiLicenseInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiVersionSetContractDetails.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OAuth2AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OpenIdAuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-SubscriptionKeyParameterNamesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-GatewayApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-CertificateAuthorityId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Constant-KeyType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenRequestContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Operation-GatewayGenerateToken.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-HostnameConfigurationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/Operation-GatewayInvalidateDebugCredentials.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Constant-GatewayListDebugCredentialsContractPurpose.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayDebugCredentialsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayListDebugCredentialsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Operation-GatewayListDebugCredentials.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Model-GatewayKeysContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Operation-GatewayListKeys.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Model-GatewayListTraceContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Operation-GatewayListTrace.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Constant-KeyType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Model-GatewayKeyRegenerationRequestContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Operation-GatewayRegenerateKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/ResourceId-ServiceGatewayId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverEntityBaseContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-ListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ResolverId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyExportFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-ListByResolver.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/ResourceId-ResolverId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Constant-GroupType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParametersProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParametersProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-GroupId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceGroupId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-GroupType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-UserState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-GroupContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserIdentityContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-CheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Create.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCreate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserList.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupUserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupUserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Constant-IdentityProviderType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-ClientSecretContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListSecrets.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-IdentityProviderId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Constant-State.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-IssueId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Constant-LoggerType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerListByWorkspace.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-LoggerId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceLoggerId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Constant-KeyVaultRefreshState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractCreateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultLastAccessStatusContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueSecretContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListValue.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-RefreshSecret.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListValue.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueRefreshSecret.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-NamedValueId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceNamedValueId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Constant-ConnectivityStatusType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-ConnectivityStatusContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContractByLocation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByLocation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-LocationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Constant-NotificationName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-RecipientsContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationNotificationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Constant-NotificationName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-ListByNotification.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailListByNotification.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationNotificationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationRecipientEmailId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-RecipientEmailId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Constant-NotificationName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUserContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUsersContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-ListByNotification.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserListByNotification.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationNotificationId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationRecipientUserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-RecipientUserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-ClientSecretContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListSecrets.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-OpenidConnectProviderId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDependency.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDetail.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-OutboundEnvironmentEndpoint.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectionStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectivityCheckProtocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-IssueType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Method.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Origin.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-PreferredIPVersion.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Severity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequest.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestDestination.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfigurationHTTPConfiguration.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestSource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckResponse.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityHop.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityIssue.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-HTTPHeader.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Operation-Async.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyExportFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Constant-PolicyScopeContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionCollection.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Constant-PolicyFragmentContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-Resource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListReferences.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListReferences.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-PolicyFragmentId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspacePolicyFragmentId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Constant-PolicyRestrictionRequireBase.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/ResourceId-PolicyRestrictionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Constant-PolicyRestrictionRequireBase.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Operation-PolicyRestrictionListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Constant-AsyncOperationStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorFieldContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorResponseBody.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultLogItemContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Operation-PolicyRestrictionValidationsByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Constant-PortalSettingsCspMode.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCorsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCspProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigDelegationProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignin.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignup.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigTermsOfServiceProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-PortalConfigId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Constant-PortalRevisionStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-PortalRevisionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsCollection.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-RegistrationDelegationSettingsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-SubscriptionsDelegationSettingsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-TermsOfServiceProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpoint.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnection.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequest.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequestProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceListResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetByName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetPrivateLinkResource.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListPrivateLinkResources.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateLinkResourceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Constant-ProductState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-ApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-BearerTokenSendingMethods.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-VersioningScheme.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContactInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiLicenseInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiVersionSetContractDetails.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OAuth2AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OpenIdAuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-SubscriptionKeyParameterNamesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductApiId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductApiLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductApiLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Constant-GroupType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CheckEntityExists.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductGroupId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-GroupLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductGroupLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-WorkspaceProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyExportFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-WorkspaceProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Constant-SubscriptionState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagAssignToProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagDetachFromProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetEntityStateByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductTagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiDocumentationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/ResourceId-ProductId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-BearerTokenSendingMethods.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ProductState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiContactInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiLicenseInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OAuth2AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OpenIdAuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OperationTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ProductTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-SubscriptionKeyParameterNamesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagResourceContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Operation-ProductListByTags.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterCollection.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/ResourceId-QuotaId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueUpdateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/ResourceId-PeriodId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Model-RegionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Region/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-ReportRecordContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportCollection.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportRecordContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByGeo.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByOperation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByRequest.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListBySubscription.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByTime.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByUser.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Constant-SchemaType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-SchemaId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceSchemaId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettingProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettings.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettingsProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-TermsOfServiceProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuCapacityScaleType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsReasonCode.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSku.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapabilities.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapacity.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCosts.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuLocationInfo.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictionInfo.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictions.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuZoneDetails.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Operation-ApiManagementSkusList.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-AppType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-SubscriptionState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionKeysContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-ListSecrets.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegeneratePrimaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegenerateSecondaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-UserSubscriptionGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionList.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionListSecrets.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegeneratePrimaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegenerateSecondaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-Subscriptions2Id.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-UserSubscriptions2Id.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceSubscriptions2Id.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagCreateUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-GetEntityState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGetEntityState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-TagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceTagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-ApiLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagApiLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-WorkspaceTagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-OperationLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagOperationLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-WorkspaceTagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-ListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkDelete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkGet.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkListByProduct.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-ProductLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagProductLinkId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-WorkspaceTagId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ApiType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-BearerTokenSendingMethods.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ProductState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiContactInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiLicenseInformation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OAuth2AuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OpenIdAuthenticationSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OperationTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ProductTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-SubscriptionKeyParameterNamesContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagResourceContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagTagResourceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Constant-AccessIdName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationSecretsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Create.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListSecrets.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegeneratePrimaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegenerateSecondaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-AccessId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Constant-AccessIdName.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegeneratePrimaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegenerateSecondaryKey.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/ResourceId-AccessId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Constant-AsyncOperationStatus.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorFieldContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorResponseBody.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultLogItemContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameter.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Deploy.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Save.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Validate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Operation-TenantConfigurationGetSyncState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-AppType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-Confirmation.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-GroupType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-UserState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-GroupContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserIdentityContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParametersProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-UserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Constant-AppType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Operation-UserConfirmationPasswordSend.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/ResourceId-UserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Constant-GroupType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/ResourceId-UserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Model-UserIdentityContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Operation-UserIdentitiesList.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/ResourceId-UserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Constant-SubscriptionState.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Operation-List.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/ResourceId-UserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Constant-KeyType.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameterProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameters.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Operation-UserGetSharedAccessToken.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/ResourceId-UserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Model-GenerateSsoUrlResult.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Operation-UserGenerateSsoUrl.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Users/ResourceId-UserId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-ListByService.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Update.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-ServiceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyContentFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyExportFormat.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContract.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContractProperties.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Delete.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Get.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-GetEntityTag.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-ListByApi.json create mode 100644 api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/ResourceId-WorkspaceId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/ApiVersionDefinition.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificate.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateErrorResponseBody.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateProperties.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesDelete.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesGet.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesList.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-CertificateId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-NginxDeploymentId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfiguration.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationFile.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationPackage.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationProperties.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsDelete.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsGet.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsList.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-ConfigurationId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-NginxDeploymentId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreate.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreateConfig.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisDiagnostic.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResult.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResultData.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationFile.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationPackage.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Operation-ConfigurationsAnalysis.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/ResourceId-ConfigurationId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ActivationState.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-NginxPrivateIPAllocationMethod.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-AutoUpgradeProfile.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeployment.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentProperties.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentPropertiesNginxAppProtect.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingProperties.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingPropertiesAutoScaleSettings.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateParameters.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateProperties.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdatePropertiesNginxAppProtect.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUserProfile.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxFrontendIPConfiguration.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxLogging.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkInterfaceConfiguration.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkProfile.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPrivateIPAddress.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPublicIPAddress.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxStorageAccount.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ResourceSku.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfile.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfileCapacity.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallComponentVersions.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallPackage.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallSettings.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallStatus.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsDelete.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsGet.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsList.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsListByResourceGroup.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsUpdate.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-NginxDeploymentId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-SubscriptionId.json diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Constant-PolicyComplianceState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Constant-PolicyComplianceState.json new file mode 100644 index 00000000000..3599611d41b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Constant-PolicyComplianceState.json @@ -0,0 +1,18 @@ +{ + "name": "PolicyComplianceState", + "type": "String", + "values": [ + { + "key": "Compliant", + "value": "Compliant" + }, + { + "key": "NonCompliant", + "value": "NonCompliant" + }, + { + "key": "Pending", + "value": "Pending" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContract.json new file mode 100644 index 00000000000..e38a31ce93c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContract.json @@ -0,0 +1,57 @@ +{ + "name": "AllPoliciesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AllPoliciesContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContractProperties.json new file mode 100644 index 00000000000..5bf3485fae5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Model-AllPoliciesContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "AllPoliciesContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "complianceState", + "name": "ComplianceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyComplianceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "referencePolicyId", + "name": "ReferencePolicyId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Operation-ListByService.json new file mode 100644 index 00000000000..ae34c1a41f0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "AllPoliciesContract" + }, + "uriSuffix": "/allPolicies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AllPolicies/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ApiType.json new file mode 100644 index 00000000000..efb64db773a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ApiType.json @@ -0,0 +1,30 @@ +{ + "name": "ApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-BearerTokenSendingMethods.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-BearerTokenSendingMethods.json new file mode 100644 index 00000000000..f42ecfe32b4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-BearerTokenSendingMethods.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethods", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ContentFormat.json new file mode 100644 index 00000000000..783a1550e74 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-ContentFormat.json @@ -0,0 +1,66 @@ +{ + "name": "ContentFormat", + "type": "String", + "values": [ + { + "key": "GraphqlNegativelink", + "value": "graphql-link" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "GrpcNegativelink", + "value": "grpc-link" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "OdataNegativelink", + "value": "odata-link" + }, + { + "key": "Openapi", + "value": "openapi" + }, + { + "key": "OpenapiNegativelink", + "value": "openapi-link" + }, + { + "key": "OpenapiPositivejson", + "value": "openapi+json" + }, + { + "key": "OpenapiPositivejsonNegativelink", + "value": "openapi+json-link" + }, + { + "key": "SwaggerNegativejson", + "value": "swagger-json" + }, + { + "key": "SwaggerNegativelinkNegativejson", + "value": "swagger-link-json" + }, + { + "key": "WadlNegativelinkNegativejson", + "value": "wadl-link-json" + }, + { + "key": "WadlNegativexml", + "value": "wadl-xml" + }, + { + "key": "Wsdl", + "value": "wsdl" + }, + { + "key": "WsdlNegativelink", + "value": "wsdl-link" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-Protocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-Protocol.json new file mode 100644 index 00000000000..3c4dea1da2d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-Protocol.json @@ -0,0 +1,22 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "HTTPS", + "value": "https" + }, + { + "key": "Ws", + "value": "ws" + }, + { + "key": "Wss", + "value": "wss" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-SoapApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-SoapApiType.json new file mode 100644 index 00000000000..f776240c440 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-SoapApiType.json @@ -0,0 +1,30 @@ +{ + "name": "SoapApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-TranslateRequiredQueryParametersConduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-TranslateRequiredQueryParametersConduct.json new file mode 100644 index 00000000000..08957a45751 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-TranslateRequiredQueryParametersConduct.json @@ -0,0 +1,14 @@ +{ + "name": "TranslateRequiredQueryParametersConduct", + "type": "String", + "values": [ + { + "key": "Query", + "value": "query" + }, + { + "key": "Template", + "value": "template" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-VersioningScheme.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-VersioningScheme.json new file mode 100644 index 00000000000..a3170d16bf4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Constant-VersioningScheme.json @@ -0,0 +1,18 @@ +{ + "name": "VersioningScheme", + "type": "String", + "values": [ + { + "key": "Header", + "value": "Header" + }, + { + "key": "Query", + "value": "Query" + }, + { + "key": "Segment", + "value": "Segment" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContactInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContactInformation.json new file mode 100644 index 00000000000..d6c9e910e4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContactInformation.json @@ -0,0 +1,44 @@ +{ + "name": "ApiContactInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContract.json new file mode 100644 index 00000000000..656e5313645 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContract.json @@ -0,0 +1,57 @@ +{ + "name": "ApiContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractProperties.json new file mode 100644 index 00000000000..70c7d8be382 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractProperties.json @@ -0,0 +1,295 @@ +{ + "name": "ApiContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSet", + "name": "ApiVersionSet", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionSetContractDetails" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceApiId", + "name": "SourceApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractUpdateProperties.json new file mode 100644 index 00000000000..96744797e5c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiContractUpdateProperties.json @@ -0,0 +1,256 @@ +{ + "name": "ApiContractUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateParameter.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateParameter.json new file mode 100644 index 00000000000..2953858a830 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateParameter.json @@ -0,0 +1,18 @@ +{ + "name": "ApiCreateOrUpdateParameter", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiCreateOrUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateProperties.json new file mode 100644 index 00000000000..55f50a030a8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdateProperties.json @@ -0,0 +1,360 @@ +{ + "name": "ApiCreateOrUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiType", + "name": "ApiType", + "objectDefinition": { + "type": "Reference", + "referenceName": "SoapApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSet", + "name": "ApiVersionSet", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionSetContractDetails" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "ContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceApiId", + "name": "SourceApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "translateRequiredQueryParameters", + "name": "TranslateRequiredQueryParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "TranslateRequiredQueryParametersConduct" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wsdlSelector", + "name": "WsdlSelector", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiCreateOrUpdatePropertiesWsdlSelector" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdatePropertiesWsdlSelector.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdatePropertiesWsdlSelector.json new file mode 100644 index 00000000000..fc831c99297 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiCreateOrUpdatePropertiesWsdlSelector.json @@ -0,0 +1,31 @@ +{ + "name": "ApiCreateOrUpdatePropertiesWsdlSelector", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wsdlEndpointName", + "name": "WsdlEndpointName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wsdlServiceName", + "name": "WsdlServiceName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiLicenseInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiLicenseInformation.json new file mode 100644 index 00000000000..c1d5c9a227a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiLicenseInformation.json @@ -0,0 +1,31 @@ +{ + "name": "ApiLicenseInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiUpdateContract.json new file mode 100644 index 00000000000..6bf117ef9a9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "ApiUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContractUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiVersionSetContractDetails.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiVersionSetContractDetails.json new file mode 100644 index 00000000000..8643e1d01f6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-ApiVersionSetContractDetails.json @@ -0,0 +1,83 @@ +{ + "name": "ApiVersionSetContractDetails", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionHeaderName", + "name": "VersionHeaderName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionQueryName", + "name": "VersionQueryName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versioningScheme", + "name": "VersioningScheme", + "objectDefinition": { + "type": "Reference", + "referenceName": "VersioningScheme" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-AuthenticationSettingsContract.json new file mode 100644 index 00000000000..eff9940699c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-AuthenticationSettingsContract.json @@ -0,0 +1,65 @@ +{ + "name": "AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2", + "name": "OAuth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2AuthenticationSettings", + "name": "OAuth2AuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openid", + "name": "Openid", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidAuthenticationSettings", + "name": "OpenidAuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OAuth2AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OAuth2AuthenticationSettingsContract.json new file mode 100644 index 00000000000..a535d1fc2aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OAuth2AuthenticationSettingsContract.json @@ -0,0 +1,31 @@ +{ + "name": "OAuth2AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationServerId", + "name": "AuthorizationServerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OpenIdAuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OpenIdAuthenticationSettingsContract.json new file mode 100644 index 00000000000..e7f51ef8de5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-OpenIdAuthenticationSettingsContract.json @@ -0,0 +1,35 @@ +{ + "name": "OpenIdAuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethods" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidProviderId", + "name": "OpenidProviderId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-SubscriptionKeyParameterNamesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-SubscriptionKeyParameterNamesContract.json new file mode 100644 index 00000000000..039a61eafd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Model-SubscriptionKeyParameterNamesContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeyParameterNamesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..433ac50f668 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiCreateOrUpdateParameter" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Delete.json new file mode 100644 index 00000000000..eda5073bff6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Delete.json @@ -0,0 +1,33 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "options": [ + { + "optional": true, + "queryString": "deleteRevisions", + "required": false, + "field": "DeleteRevisions", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Get.json new file mode 100644 index 00000000000..9ed11ebc3e3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-GetEntityTag.json new file mode 100644 index 00000000000..7535b2d6e58 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-ListByService.json new file mode 100644 index 00000000000..269ff0f4cce --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-ListByService.json @@ -0,0 +1,68 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "expandApiVersionSet", + "required": false, + "field": "ExpandApiVersionSet", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "tags", + "required": false, + "field": "Tags", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + }, + "uriSuffix": "/apis" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Update.json new file mode 100644 index 00000000000..97ca593a38c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiCreateOrUpdate.json new file mode 100644 index 00000000000..406377113d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceApiCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiCreateOrUpdateParameter" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiDelete.json new file mode 100644 index 00000000000..8265106d74e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiDelete.json @@ -0,0 +1,33 @@ +{ + "name": "WorkspaceApiDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "optional": true, + "queryString": "deleteRevisions", + "required": false, + "field": "DeleteRevisions", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGet.json new file mode 100644 index 00000000000..f06ed5c3816 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceApiGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGetEntityTag.json new file mode 100644 index 00000000000..c26981155c1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceApiGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiListByService.json new file mode 100644 index 00000000000..81865a2cfe9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiListByService.json @@ -0,0 +1,68 @@ +{ + "name": "WorkspaceApiListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "expandApiVersionSet", + "required": false, + "field": "ExpandApiVersionSet", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "tags", + "required": false, + "field": "Tags", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + }, + "uriSuffix": "/apis" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiUpdate.json new file mode 100644 index 00000000000..28a5635f432 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/Operation-WorkspaceApiUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceApiUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceApiId.json new file mode 100644 index 00000000000..5a38a1ef969 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceApiId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Api/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-AlwaysLog.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-AlwaysLog.json new file mode 100644 index 00000000000..cadf357b5fc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-AlwaysLog.json @@ -0,0 +1,10 @@ +{ + "name": "AlwaysLog", + "type": "String", + "values": [ + { + "key": "AllErrors", + "value": "allErrors" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-DataMaskingMode.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-DataMaskingMode.json new file mode 100644 index 00000000000..d3035af9a29 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-DataMaskingMode.json @@ -0,0 +1,14 @@ +{ + "name": "DataMaskingMode", + "type": "String", + "values": [ + { + "key": "Hide", + "value": "Hide" + }, + { + "key": "Mask", + "value": "Mask" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-HTTPCorrelationProtocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-HTTPCorrelationProtocol.json new file mode 100644 index 00000000000..3f97297c6d4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-HTTPCorrelationProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "HTTPCorrelationProtocol", + "type": "String", + "values": [ + { + "key": "Legacy", + "value": "Legacy" + }, + { + "key": "None", + "value": "None" + }, + { + "key": "WThreeC", + "value": "W3C" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-OperationNameFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-OperationNameFormat.json new file mode 100644 index 00000000000..019a2a346cb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-OperationNameFormat.json @@ -0,0 +1,14 @@ +{ + "name": "OperationNameFormat", + "type": "String", + "values": [ + { + "key": "Name", + "value": "Name" + }, + { + "key": "Url", + "value": "Url" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-SamplingType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-SamplingType.json new file mode 100644 index 00000000000..4c6daa828e3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-SamplingType.json @@ -0,0 +1,10 @@ +{ + "name": "SamplingType", + "type": "String", + "values": [ + { + "key": "Fixed", + "value": "fixed" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-Verbosity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-Verbosity.json new file mode 100644 index 00000000000..2067b5819de --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Constant-Verbosity.json @@ -0,0 +1,18 @@ +{ + "name": "Verbosity", + "type": "String", + "values": [ + { + "key": "Error", + "value": "error" + }, + { + "key": "Information", + "value": "information" + }, + { + "key": "Verbose", + "value": "verbose" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-BodyDiagnosticSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-BodyDiagnosticSettings.json new file mode 100644 index 00000000000..538588046af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-BodyDiagnosticSettings.json @@ -0,0 +1,18 @@ +{ + "name": "BodyDiagnosticSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bytes", + "name": "Bytes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMasking.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMasking.json new file mode 100644 index 00000000000..de0aad996f8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMasking.json @@ -0,0 +1,39 @@ +{ + "name": "DataMasking", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headers", + "name": "Headers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DataMaskingEntity" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParams", + "name": "QueryParams", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DataMaskingEntity" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMaskingEntity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMaskingEntity.json new file mode 100644 index 00000000000..695d2172ea6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DataMaskingEntity.json @@ -0,0 +1,31 @@ +{ + "name": "DataMaskingEntity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "mode", + "name": "Mode", + "objectDefinition": { + "type": "Reference", + "referenceName": "DataMaskingMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContract.json new file mode 100644 index 00000000000..0aa396fab40 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContract.json @@ -0,0 +1,57 @@ +{ + "name": "DiagnosticContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DiagnosticContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractProperties.json new file mode 100644 index 00000000000..74e817e9386 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractProperties.json @@ -0,0 +1,135 @@ +{ + "name": "DiagnosticContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "alwaysLog", + "name": "AlwaysLog", + "objectDefinition": { + "type": "Reference", + "referenceName": "AlwaysLog" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backend", + "name": "Backend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontend", + "name": "Frontend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpCorrelationProtocol", + "name": "HTTPCorrelationProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPCorrelationProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logClientIp", + "name": "LogClientIP", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loggerId", + "name": "LoggerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metrics", + "name": "Metrics", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operationNameFormat", + "name": "OperationNameFormat", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationNameFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sampling", + "name": "Sampling", + "objectDefinition": { + "type": "Reference", + "referenceName": "SamplingSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "verbosity", + "name": "Verbosity", + "objectDefinition": { + "type": "Reference", + "referenceName": "Verbosity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractUpdateProperties.json new file mode 100644 index 00000000000..5509f4df6c1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticContractUpdateProperties.json @@ -0,0 +1,135 @@ +{ + "name": "DiagnosticContractUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "alwaysLog", + "name": "AlwaysLog", + "objectDefinition": { + "type": "Reference", + "referenceName": "AlwaysLog" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backend", + "name": "Backend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontend", + "name": "Frontend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpCorrelationProtocol", + "name": "HTTPCorrelationProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPCorrelationProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logClientIp", + "name": "LogClientIP", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loggerId", + "name": "LoggerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metrics", + "name": "Metrics", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operationNameFormat", + "name": "OperationNameFormat", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationNameFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sampling", + "name": "Sampling", + "objectDefinition": { + "type": "Reference", + "referenceName": "SamplingSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "verbosity", + "name": "Verbosity", + "objectDefinition": { + "type": "Reference", + "referenceName": "Verbosity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticUpdateContract.json new file mode 100644 index 00000000000..5d885ec8e56 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-DiagnosticUpdateContract.json @@ -0,0 +1,57 @@ +{ + "name": "DiagnosticUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DiagnosticContractUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-HTTPMessageDiagnostic.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-HTTPMessageDiagnostic.json new file mode 100644 index 00000000000..6eb63c9680e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-HTTPMessageDiagnostic.json @@ -0,0 +1,48 @@ +{ + "name": "HTTPMessageDiagnostic", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "body", + "name": "Body", + "objectDefinition": { + "type": "Reference", + "referenceName": "BodyDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "dataMasking", + "name": "DataMasking", + "objectDefinition": { + "type": "Reference", + "referenceName": "DataMasking" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headers", + "name": "Headers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-PipelineDiagnosticSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-PipelineDiagnosticSettings.json new file mode 100644 index 00000000000..399f542c14d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-PipelineDiagnosticSettings.json @@ -0,0 +1,31 @@ +{ + "name": "PipelineDiagnosticSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "request", + "name": "Request", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPMessageDiagnostic" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "response", + "name": "Response", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPMessageDiagnostic" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-SamplingSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-SamplingSettings.json new file mode 100644 index 00000000000..41a5dc60b6f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Model-SamplingSettings.json @@ -0,0 +1,31 @@ +{ + "name": "SamplingSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "percentage", + "name": "Percentage", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "samplingType", + "name": "SamplingType", + "objectDefinition": { + "type": "Reference", + "referenceName": "SamplingType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..eb38abd9bf0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiDiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Delete.json new file mode 100644 index 00000000000..ddd4468d3c4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiDiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Get.json new file mode 100644 index 00000000000..ed1175665f8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiDiagnosticId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-GetEntityTag.json new file mode 100644 index 00000000000..6ef7e1370c1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiDiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-ListByService.json new file mode 100644 index 00000000000..c80765e53a0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "uriSuffix": "/diagnostics" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Update.json new file mode 100644 index 00000000000..8d0ae0b9d64 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiDiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticCreateOrUpdate.json new file mode 100644 index 00000000000..0c19a47ff54 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceApiDiagnosticCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiDiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticDelete.json new file mode 100644 index 00000000000..b48b7bebcde --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceApiDiagnosticDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiDiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGet.json new file mode 100644 index 00000000000..b57ad0cb3d5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceApiDiagnosticGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceApiDiagnosticId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGetEntityTag.json new file mode 100644 index 00000000000..cd8484ce1a1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceApiDiagnosticGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceApiDiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticListByWorkspace.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticListByWorkspace.json new file mode 100644 index 00000000000..f3193cdcb4f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticListByWorkspace.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceApiDiagnosticListByWorkspace", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "uriSuffix": "/diagnostics" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticUpdate.json new file mode 100644 index 00000000000..89a9d968cd9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/Operation-WorkspaceApiDiagnosticUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceApiDiagnosticUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiDiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiDiagnosticId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiDiagnosticId.json new file mode 100644 index 00000000000..dcb5073943d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiDiagnosticId.json @@ -0,0 +1,61 @@ +{ + "name": "ApiDiagnosticId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticDiagnostics", + "type": "Static", + "value": "diagnostics" + }, + { + "name": "diagnosticId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiDiagnosticId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiDiagnosticId.json new file mode 100644 index 00000000000..df5ffb1a823 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiDiagnosticId.json @@ -0,0 +1,70 @@ +{ + "name": "WorkspaceApiDiagnosticId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/diagnostics/{diagnosticId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticDiagnostics", + "type": "Static", + "value": "diagnostics" + }, + { + "name": "diagnosticId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiId.json new file mode 100644 index 00000000000..5a38a1ef969 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiDiagnostic/ResourceId-WorkspaceApiId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-ApiGatewaySkuType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-ApiGatewaySkuType.json new file mode 100644 index 00000000000..338c0732d65 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-ApiGatewaySkuType.json @@ -0,0 +1,18 @@ +{ + "name": "ApiGatewaySkuType", + "type": "String", + "values": [ + { + "key": "Standard", + "value": "Standard" + }, + { + "key": "WorkspaceGatewayPremium", + "value": "WorkspaceGatewayPremium" + }, + { + "key": "WorkspaceGatewayStandard", + "value": "WorkspaceGatewayStandard" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-VirtualNetworkType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-VirtualNetworkType.json new file mode 100644 index 00000000000..4b103bcfb82 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Constant-VirtualNetworkType.json @@ -0,0 +1,18 @@ +{ + "name": "VirtualNetworkType", + "type": "String", + "values": [ + { + "key": "External", + "value": "External" + }, + { + "key": "Internal", + "value": "Internal" + }, + { + "key": "None", + "value": "None" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayBaseProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayBaseProperties.json new file mode 100644 index 00000000000..d3d77acee98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayBaseProperties.json @@ -0,0 +1,97 @@ +{ + "name": "ApiManagementGatewayBaseProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backend", + "name": "Backend", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "configurationApi", + "name": "ConfigurationApi", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewayConfigurationApi" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdAtUtc", + "name": "CreatedAtUtc", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontend", + "name": "Frontend", + "objectDefinition": { + "type": "Reference", + "referenceName": "FrontendConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "targetProvisioningState", + "name": "TargetProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualNetworkType", + "name": "VirtualNetworkType", + "objectDefinition": { + "type": "Reference", + "referenceName": "VirtualNetworkType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayResource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayResource.json new file mode 100644 index 00000000000..9612aa28d74 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayResource.json @@ -0,0 +1,122 @@ +{ + "name": "ApiManagementGatewayResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "etag", + "name": "Etag", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementGatewayBaseProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementGatewaySkuProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuProperties.json new file mode 100644 index 00000000000..767ca763485 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuProperties.json @@ -0,0 +1,31 @@ +{ + "name": "ApiManagementGatewaySkuProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiGatewaySkuType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuPropertiesForPatch.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuPropertiesForPatch.json new file mode 100644 index 00000000000..adab651f770 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewaySkuPropertiesForPatch.json @@ -0,0 +1,31 @@ +{ + "name": "ApiManagementGatewaySkuPropertiesForPatch", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiGatewaySkuType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayUpdateParameters.json new file mode 100644 index 00000000000..8bc1e8f1c8d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-ApiManagementGatewayUpdateParameters.json @@ -0,0 +1,96 @@ +{ + "name": "ApiManagementGatewayUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "etag", + "name": "Etag", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementGatewayBaseProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementGatewaySkuPropertiesForPatch" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendConfiguration.json new file mode 100644 index 00000000000..41946005cdd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendConfiguration.json @@ -0,0 +1,18 @@ +{ + "name": "BackendConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subnet", + "name": "Subnet", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendSubnetConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendSubnetConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendSubnetConfiguration.json new file mode 100644 index 00000000000..c62536a65f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-BackendSubnetConfiguration.json @@ -0,0 +1,18 @@ +{ + "name": "BackendSubnetConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-FrontendConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-FrontendConfiguration.json new file mode 100644 index 00000000000..bbaf73066ac --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-FrontendConfiguration.json @@ -0,0 +1,18 @@ +{ + "name": "FrontendConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultHostname", + "name": "DefaultHostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-GatewayConfigurationApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-GatewayConfigurationApi.json new file mode 100644 index 00000000000..2023d9ea5d0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Model-GatewayConfigurationApi.json @@ -0,0 +1,18 @@ +{ + "name": "GatewayConfigurationApi", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostname", + "name": "Hostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..e31f9a0e1f7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "GatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayResource" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Delete.json new file mode 100644 index 00000000000..5728378be75 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Delete.json @@ -0,0 +1,15 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "GatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Get.json new file mode 100644 index 00000000000..70c7f03c125 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "GatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-List.json new file mode 100644 index 00000000000..682083af68e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-List.json @@ -0,0 +1,16 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayResource" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/gateways" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-ListByResourceGroup.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-ListByResourceGroup.json new file mode 100644 index 00000000000..8643fbfb16d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-ListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayResource" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/gateways" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Update.json new file mode 100644 index 00000000000..6555dfb16ed --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "GatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-GatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-GatewayId.json new file mode 100644 index 00000000000..dae1b01cdd8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-GatewayId.json @@ -0,0 +1,43 @@ +{ + "name": "GatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways/{gatewayName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGateway/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-ApiManagementGatewayConfigConnectionResource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-ApiManagementGatewayConfigConnectionResource.json new file mode 100644 index 00000000000..8fc8558adad --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-ApiManagementGatewayConfigConnectionResource.json @@ -0,0 +1,70 @@ +{ + "name": "ApiManagementGatewayConfigConnectionResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "etag", + "name": "Etag", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewayConfigConnectionBaseProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-GatewayConfigConnectionBaseProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-GatewayConfigConnectionBaseProperties.json new file mode 100644 index 00000000000..b2dff9ea976 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Model-GatewayConfigConnectionBaseProperties.json @@ -0,0 +1,61 @@ +{ + "name": "GatewayConfigConnectionBaseProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultHostname", + "name": "DefaultHostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostnames", + "name": "Hostnames", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceId", + "name": "SourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..f3be2ac3e89 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "ConfigConnectionId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayConfigConnectionResource" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayConfigConnectionResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Delete.json new file mode 100644 index 00000000000..038f40f7bdb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ConfigConnectionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Get.json new file mode 100644 index 00000000000..5f7ae4afa01 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ConfigConnectionId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayConfigConnectionResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-ListByGateway.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-ListByGateway.json new file mode 100644 index 00000000000..fbebdf90c8b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/Operation-ListByGateway.json @@ -0,0 +1,16 @@ +{ + "name": "ListByGateway", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "GatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementGatewayConfigConnectionResource" + }, + "uriSuffix": "/configConnections" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-ConfigConnectionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-ConfigConnectionId.json new file mode 100644 index 00000000000..d9b77d25bba --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-ConfigConnectionId.json @@ -0,0 +1,52 @@ +{ + "name": "ConfigConnectionId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways/{gatewayName}/configConnections/{configConnectionName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayName", + "type": "UserSpecified" + }, + { + "name": "staticConfigConnections", + "type": "Static", + "value": "configConnections" + }, + { + "name": "configConnectionName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-GatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-GatewayId.json new file mode 100644 index 00000000000..dae1b01cdd8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiGatewayConfigConnection/ResourceId-GatewayId.json @@ -0,0 +1,43 @@ +{ + "name": "GatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways/{gatewayName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Constant-State.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Constant-State.json new file mode 100644 index 00000000000..a616095c2ca --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Constant-State.json @@ -0,0 +1,26 @@ +{ + "name": "State", + "type": "String", + "values": [ + { + "key": "Closed", + "value": "closed" + }, + { + "key": "Open", + "value": "open" + }, + { + "key": "Proposed", + "value": "proposed" + }, + { + "key": "Removed", + "value": "removed" + }, + { + "key": "Resolved", + "value": "resolved" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContract.json new file mode 100644 index 00000000000..0d8c82d4dcd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContract.json @@ -0,0 +1,57 @@ +{ + "name": "IssueContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IssueContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContractProperties.json new file mode 100644 index 00000000000..b3560ef22bf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueContractProperties.json @@ -0,0 +1,84 @@ +{ + "name": "IssueContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDate", + "name": "CreatedDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "State" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userId", + "name": "UserId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContract.json new file mode 100644 index 00000000000..a9433e72263 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "IssueUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IssueUpdateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContractProperties.json new file mode 100644 index 00000000000..4b73268439f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Model-IssueUpdateContractProperties.json @@ -0,0 +1,84 @@ +{ + "name": "IssueUpdateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDate", + "name": "CreatedDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "State" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userId", + "name": "UserId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..fb5a9b043ec --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiIssueId", + "requestObject": { + "type": "Reference", + "referenceName": "IssueContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "IssueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Delete.json new file mode 100644 index 00000000000..7275052de50 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiIssueId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Get.json new file mode 100644 index 00000000000..da15731fa6b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Get.json @@ -0,0 +1,26 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "expandCommentsAttachments", + "required": false, + "field": "ExpandCommentsAttachments", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + } + ], + "resourceIdName": "ApiIssueId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-GetEntityTag.json new file mode 100644 index 00000000000..d893d666d21 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiIssueId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-ListByService.json new file mode 100644 index 00000000000..59d4258bbea --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-ListByService.json @@ -0,0 +1,58 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "expandCommentsAttachments", + "required": false, + "field": "ExpandCommentsAttachments", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueContract" + }, + "uriSuffix": "/issues" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Update.json new file mode 100644 index 00000000000..877b4e9ea9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiIssueId", + "requestObject": { + "type": "Reference", + "referenceName": "IssueUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "IssueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiIssueId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiIssueId.json new file mode 100644 index 00000000000..24a8c5891dc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssue/ResourceId-ApiIssueId.json @@ -0,0 +1,61 @@ +{ + "name": "ApiIssueId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticIssues", + "type": "Static", + "value": "issues" + }, + { + "name": "issueId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContract.json new file mode 100644 index 00000000000..2ea4b16138f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContract.json @@ -0,0 +1,57 @@ +{ + "name": "IssueAttachmentContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IssueAttachmentContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContractProperties.json new file mode 100644 index 00000000000..e6e288ce1fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Model-IssueAttachmentContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "IssueAttachmentContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "content", + "name": "Content", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentFormat", + "name": "ContentFormat", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..7699d2031b7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AttachmentId", + "requestObject": { + "type": "Reference", + "referenceName": "IssueAttachmentContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "IssueAttachmentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Delete.json new file mode 100644 index 00000000000..193ee36ed71 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AttachmentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Get.json new file mode 100644 index 00000000000..69c00858f87 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AttachmentId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueAttachmentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-GetEntityTag.json new file mode 100644 index 00000000000..0809d12faea --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "AttachmentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-ListByService.json new file mode 100644 index 00000000000..51ee4d11f62 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiIssueId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueAttachmentContract" + }, + "uriSuffix": "/attachments" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-ApiIssueId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-ApiIssueId.json new file mode 100644 index 00000000000..24a8c5891dc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-ApiIssueId.json @@ -0,0 +1,61 @@ +{ + "name": "ApiIssueId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticIssues", + "type": "Static", + "value": "issues" + }, + { + "name": "issueId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-AttachmentId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-AttachmentId.json new file mode 100644 index 00000000000..caf23b1b3b5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueAttachment/ResourceId-AttachmentId.json @@ -0,0 +1,70 @@ +{ + "name": "AttachmentId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticIssues", + "type": "Static", + "value": "issues" + }, + { + "name": "issueId", + "type": "UserSpecified" + }, + { + "name": "staticAttachments", + "type": "Static", + "value": "attachments" + }, + { + "name": "attachmentId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContract.json new file mode 100644 index 00000000000..628f96e12df --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContract.json @@ -0,0 +1,57 @@ +{ + "name": "IssueCommentContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IssueCommentContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContractProperties.json new file mode 100644 index 00000000000..56810b4a0aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Model-IssueCommentContractProperties.json @@ -0,0 +1,45 @@ +{ + "name": "IssueCommentContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDate", + "name": "CreatedDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "text", + "name": "Text", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userId", + "name": "UserId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..7f42f20a0de --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CommentId", + "requestObject": { + "type": "Reference", + "referenceName": "IssueCommentContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "IssueCommentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Delete.json new file mode 100644 index 00000000000..ab69cd74828 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CommentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Get.json new file mode 100644 index 00000000000..907aa1ee3ae --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CommentId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueCommentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-GetEntityTag.json new file mode 100644 index 00000000000..400513c3a86 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "CommentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-ListByService.json new file mode 100644 index 00000000000..a5b76140944 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiIssueId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueCommentContract" + }, + "uriSuffix": "/comments" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-ApiIssueId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-ApiIssueId.json new file mode 100644 index 00000000000..24a8c5891dc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-ApiIssueId.json @@ -0,0 +1,61 @@ +{ + "name": "ApiIssueId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticIssues", + "type": "Static", + "value": "issues" + }, + { + "name": "issueId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-CommentId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-CommentId.json new file mode 100644 index 00000000000..c0398d78fb7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiIssueComment/ResourceId-CommentId.json @@ -0,0 +1,70 @@ +{ + "name": "CommentId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticIssues", + "type": "Static", + "value": "issues" + }, + { + "name": "issueId", + "type": "UserSpecified" + }, + { + "name": "staticComments", + "type": "Static", + "value": "comments" + }, + { + "name": "commentId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-ApiGatewaySkuType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-ApiGatewaySkuType.json new file mode 100644 index 00000000000..338c0732d65 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-ApiGatewaySkuType.json @@ -0,0 +1,18 @@ +{ + "name": "ApiGatewaySkuType", + "type": "String", + "values": [ + { + "key": "Standard", + "value": "Standard" + }, + { + "key": "WorkspaceGatewayPremium", + "value": "WorkspaceGatewayPremium" + }, + { + "key": "WorkspaceGatewayStandard", + "value": "WorkspaceGatewayStandard" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-GatewaySkuCapacityScaleType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-GatewaySkuCapacityScaleType.json new file mode 100644 index 00000000000..ecb910ef766 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Constant-GatewaySkuCapacityScaleType.json @@ -0,0 +1,18 @@ +{ + "name": "GatewaySkuCapacityScaleType", + "type": "String", + "values": [ + { + "key": "Automatic", + "value": "Automatic" + }, + { + "key": "Manual", + "value": "Manual" + }, + { + "key": "None", + "value": "None" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewayResourceSkuResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewayResourceSkuResult.json new file mode 100644 index 00000000000..50e6a87f377 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewayResourceSkuResult.json @@ -0,0 +1,44 @@ +{ + "name": "GatewayResourceSkuResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewaySkuCapacity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewaySku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySku.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySku.json new file mode 100644 index 00000000000..a24c7f24b2a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySku.json @@ -0,0 +1,18 @@ +{ + "name": "GatewaySku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiGatewaySkuType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySkuCapacity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySkuCapacity.json new file mode 100644 index 00000000000..048dac2fec0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Model-GatewaySkuCapacity.json @@ -0,0 +1,57 @@ +{ + "name": "GatewaySkuCapacity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "default", + "name": "Default", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maximum", + "name": "Maximum", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minimum", + "name": "Minimum", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scaleType", + "name": "ScaleType", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewaySkuCapacityScaleType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Operation-ListAvailableSkus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Operation-ListAvailableSkus.json new file mode 100644 index 00000000000..821f432498c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/Operation-ListAvailableSkus.json @@ -0,0 +1,16 @@ +{ + "name": "ListAvailableSkus", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "GatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayResourceSkuResult" + }, + "uriSuffix": "/skus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/ResourceId-GatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/ResourceId-GatewayId.json new file mode 100644 index 00000000000..dae1b01cdd8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementGatewaySkus/ResourceId-GatewayId.json @@ -0,0 +1,43 @@ +{ + "name": "GatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/gateways/{gatewayName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-AccessType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-AccessType.json new file mode 100644 index 00000000000..6c1c9831fbe --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-AccessType.json @@ -0,0 +1,18 @@ +{ + "name": "AccessType", + "type": "String", + "values": [ + { + "key": "AccessKey", + "value": "AccessKey" + }, + { + "key": "SystemAssignedManagedIdentity", + "value": "SystemAssignedManagedIdentity" + }, + { + "key": "UserAssignedManagedIdentity", + "value": "UserAssignedManagedIdentity" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateSource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateSource.json new file mode 100644 index 00000000000..7fd90aca070 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateSource.json @@ -0,0 +1,22 @@ +{ + "name": "CertificateSource", + "type": "String", + "values": [ + { + "key": "BuiltIn", + "value": "BuiltIn" + }, + { + "key": "Custom", + "value": "Custom" + }, + { + "key": "KeyVault", + "value": "KeyVault" + }, + { + "key": "Managed", + "value": "Managed" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateStatus.json new file mode 100644 index 00000000000..e6cfa5cfc65 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-CertificateStatus.json @@ -0,0 +1,18 @@ +{ + "name": "CertificateStatus", + "type": "String", + "values": [ + { + "key": "Completed", + "value": "Completed" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-DeveloperPortalStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-DeveloperPortalStatus.json new file mode 100644 index 00000000000..38e536725f4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-DeveloperPortalStatus.json @@ -0,0 +1,14 @@ +{ + "name": "DeveloperPortalStatus", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-HostnameType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-HostnameType.json new file mode 100644 index 00000000000..60fb7ef5fb6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-HostnameType.json @@ -0,0 +1,30 @@ +{ + "name": "HostnameType", + "type": "String", + "values": [ + { + "key": "ConfigurationApi", + "value": "ConfigurationApi" + }, + { + "key": "DeveloperPortal", + "value": "DeveloperPortal" + }, + { + "key": "Management", + "value": "Management" + }, + { + "key": "Portal", + "value": "Portal" + }, + { + "key": "Proxy", + "value": "Proxy" + }, + { + "key": "Scm", + "value": "Scm" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyApiState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyApiState.json new file mode 100644 index 00000000000..9cd3e13ec17 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyApiState.json @@ -0,0 +1,14 @@ +{ + "name": "LegacyApiState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyPortalStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyPortalStatus.json new file mode 100644 index 00000000000..d074e572f1a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-LegacyPortalStatus.json @@ -0,0 +1,14 @@ +{ + "name": "LegacyPortalStatus", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-MigrateToStv2Mode.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-MigrateToStv2Mode.json new file mode 100644 index 00000000000..6a11a1e3073 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-MigrateToStv2Mode.json @@ -0,0 +1,14 @@ +{ + "name": "MigrateToStv2Mode", + "type": "String", + "values": [ + { + "key": "NewIP", + "value": "NewIP" + }, + { + "key": "PreserveIP", + "value": "PreserveIp" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NameAvailabilityReason.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NameAvailabilityReason.json new file mode 100644 index 00000000000..3023c0314c5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NameAvailabilityReason.json @@ -0,0 +1,18 @@ +{ + "name": "NameAvailabilityReason", + "type": "String", + "values": [ + { + "key": "AlreadyExists", + "value": "AlreadyExists" + }, + { + "key": "Invalid", + "value": "Invalid" + }, + { + "key": "Valid", + "value": "Valid" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NatGatewayState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NatGatewayState.json new file mode 100644 index 00000000000..73ce09f20ab --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-NatGatewayState.json @@ -0,0 +1,14 @@ +{ + "name": "NatGatewayState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PlatformVersion.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PlatformVersion.json new file mode 100644 index 00000000000..8fded3b9dc8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PlatformVersion.json @@ -0,0 +1,26 @@ +{ + "name": "PlatformVersion", + "type": "String", + "values": [ + { + "key": "MtvOne", + "value": "mtv1" + }, + { + "key": "StvOne", + "value": "stv1" + }, + { + "key": "StvTwo", + "value": "stv2" + }, + { + "key": "StvTwoPointOne", + "value": "stv2.1" + }, + { + "key": "Undetermined", + "value": "undetermined" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PrivateEndpointServiceConnectionStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PrivateEndpointServiceConnectionStatus.json new file mode 100644 index 00000000000..5deff56fd45 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PrivateEndpointServiceConnectionStatus.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointServiceConnectionStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PublicNetworkAccess.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PublicNetworkAccess.json new file mode 100644 index 00000000000..0a5ee893f1e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-PublicNetworkAccess.json @@ -0,0 +1,14 @@ +{ + "name": "PublicNetworkAccess", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-SkuType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-SkuType.json new file mode 100644 index 00000000000..3c2a37ab33b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-SkuType.json @@ -0,0 +1,38 @@ +{ + "name": "SkuType", + "type": "String", + "values": [ + { + "key": "Basic", + "value": "Basic" + }, + { + "key": "BasicVTwo", + "value": "BasicV2" + }, + { + "key": "Consumption", + "value": "Consumption" + }, + { + "key": "Developer", + "value": "Developer" + }, + { + "key": "Isolated", + "value": "Isolated" + }, + { + "key": "Premium", + "value": "Premium" + }, + { + "key": "Standard", + "value": "Standard" + }, + { + "key": "StandardVTwo", + "value": "StandardV2" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-StoreName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-StoreName.json new file mode 100644 index 00000000000..35c69fbbf61 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-StoreName.json @@ -0,0 +1,14 @@ +{ + "name": "StoreName", + "type": "String", + "values": [ + { + "key": "CertificateAuthority", + "value": "CertificateAuthority" + }, + { + "key": "Root", + "value": "Root" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-VirtualNetworkType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-VirtualNetworkType.json new file mode 100644 index 00000000000..4b103bcfb82 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Constant-VirtualNetworkType.json @@ -0,0 +1,18 @@ +{ + "name": "VirtualNetworkType", + "type": "String", + "values": [ + { + "key": "External", + "value": "External" + }, + { + "key": "Internal", + "value": "Internal" + }, + { + "key": "None", + "value": "None" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-AdditionalLocation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-AdditionalLocation.json new file mode 100644 index 00000000000..ef6e7cf48fd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-AdditionalLocation.json @@ -0,0 +1,173 @@ +{ + "name": "AdditionalLocation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "disableGateway", + "name": "DisableGateway", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "gatewayRegionalUrl", + "name": "GatewayRegionalUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "natGatewayState", + "name": "NatGatewayState", + "objectDefinition": { + "type": "Reference", + "referenceName": "NatGatewayState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "outboundPublicIPAddresses", + "name": "OutboundPublicIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "platformVersion", + "name": "PlatformVersion", + "objectDefinition": { + "type": "Reference", + "referenceName": "PlatformVersion" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateIPAddresses", + "name": "PrivateIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicIpAddressId", + "name": "PublicIPAddressId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicIPAddresses", + "name": "PublicIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementServiceSkuProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualNetworkConfiguration", + "name": "VirtualNetworkConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "VirtualNetworkConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceApplyNetworkConfigurationParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceApplyNetworkConfigurationParameters.json new file mode 100644 index 00000000000..dafe33a8606 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceApplyNetworkConfigurationParameters.json @@ -0,0 +1,18 @@ +{ + "name": "ApiManagementServiceApplyNetworkConfigurationParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceBackupRestoreParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceBackupRestoreParameters.json new file mode 100644 index 00000000000..3898a35772a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceBackupRestoreParameters.json @@ -0,0 +1,83 @@ +{ + "name": "ApiManagementServiceBackupRestoreParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "accessKey", + "name": "AccessKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "accessType", + "name": "AccessType", + "objectDefinition": { + "type": "Reference", + "referenceName": "AccessType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backupName", + "name": "BackupName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "containerName", + "name": "ContainerName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storageAccount", + "name": "StorageAccount", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceCheckNameAvailabilityParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceCheckNameAvailabilityParameters.json new file mode 100644 index 00000000000..4f24dcc81ad --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceCheckNameAvailabilityParameters.json @@ -0,0 +1,18 @@ +{ + "name": "ApiManagementServiceCheckNameAvailabilityParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetDomainOwnershipIdentifierResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetDomainOwnershipIdentifierResult.json new file mode 100644 index 00000000000..68773381b77 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetDomainOwnershipIdentifierResult.json @@ -0,0 +1,18 @@ +{ + "name": "ApiManagementServiceGetDomainOwnershipIdentifierResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "domainOwnershipIdentifier", + "name": "DomainOwnershipIdentifier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetSsoTokenResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetSsoTokenResult.json new file mode 100644 index 00000000000..8619a8c994b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceGetSsoTokenResult.json @@ -0,0 +1,18 @@ +{ + "name": "ApiManagementServiceGetSsoTokenResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "redirectUri", + "name": "RedirectUri", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceNameAvailabilityResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceNameAvailabilityResult.json new file mode 100644 index 00000000000..0cee81faf01 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceNameAvailabilityResult.json @@ -0,0 +1,44 @@ +{ + "name": "ApiManagementServiceNameAvailabilityResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "Reference", + "referenceName": "NameAvailabilityReason" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceProperties.json new file mode 100644 index 00000000000..6f3b5d62c0c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceProperties.json @@ -0,0 +1,467 @@ +{ + "name": "ApiManagementServiceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "additionalLocations", + "name": "AdditionalLocations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "AdditionalLocation" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionConstraint", + "name": "ApiVersionConstraint", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionConstraint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificates", + "name": "Certificates", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "CertificateConfiguration" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "configurationApi", + "name": "ConfigurationApi", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConfigurationApi" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdAtUtc", + "name": "CreatedAtUtc", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customProperties", + "name": "CustomProperties", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "developerPortalStatus", + "name": "DeveloperPortalStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeveloperPortalStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "developerPortalUrl", + "name": "DeveloperPortalUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "disableGateway", + "name": "DisableGateway", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enableClientCertificate", + "name": "EnableClientCertificate", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "gatewayRegionalUrl", + "name": "GatewayRegionalUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "gatewayUrl", + "name": "GatewayUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostnameConfigurations", + "name": "HostnameConfigurations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "HostnameConfiguration" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "legacyPortalStatus", + "name": "LegacyPortalStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "LegacyPortalStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "managementApiUrl", + "name": "ManagementApiUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "natGatewayState", + "name": "NatGatewayState", + "objectDefinition": { + "type": "Reference", + "referenceName": "NatGatewayState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "notificationSenderEmail", + "name": "NotificationSenderEmail", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "outboundPublicIPAddresses", + "name": "OutboundPublicIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "platformVersion", + "name": "PlatformVersion", + "objectDefinition": { + "type": "Reference", + "referenceName": "PlatformVersion" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "portalUrl", + "name": "PortalUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpointConnections", + "name": "PrivateEndpointConnections", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RemotePrivateEndpointConnectionWrapper" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateIPAddresses", + "name": "PrivateIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicIpAddressId", + "name": "PublicIPAddressId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicIPAddresses", + "name": "PublicIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicNetworkAccess", + "name": "PublicNetworkAccess", + "objectDefinition": { + "type": "Reference", + "referenceName": "PublicNetworkAccess" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publisherEmail", + "name": "PublisherEmail", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publisherName", + "name": "PublisherName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restore", + "name": "Restore", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scmUrl", + "name": "ScmUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "targetProvisioningState", + "name": "TargetProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualNetworkConfiguration", + "name": "VirtualNetworkConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "VirtualNetworkConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualNetworkType", + "name": "VirtualNetworkType", + "objectDefinition": { + "type": "Reference", + "referenceName": "VirtualNetworkType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceResource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceResource.json new file mode 100644 index 00000000000..7266029d6fd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceResource.json @@ -0,0 +1,148 @@ +{ + "name": "ApiManagementServiceResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "etag", + "name": "Etag", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementServiceProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementServiceSkuProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceSkuProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceSkuProperties.json new file mode 100644 index 00000000000..a80f6e940d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceSkuProperties.json @@ -0,0 +1,31 @@ +{ + "name": "ApiManagementServiceSkuProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "SkuType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateParameters.json new file mode 100644 index 00000000000..f39b332e95b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateParameters.json @@ -0,0 +1,122 @@ +{ + "name": "ApiManagementServiceUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "etag", + "name": "Etag", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementServiceUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementServiceSkuProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateProperties.json new file mode 100644 index 00000000000..359ff03cd82 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiManagementServiceUpdateProperties.json @@ -0,0 +1,467 @@ +{ + "name": "ApiManagementServiceUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "additionalLocations", + "name": "AdditionalLocations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "AdditionalLocation" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionConstraint", + "name": "ApiVersionConstraint", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionConstraint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificates", + "name": "Certificates", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "CertificateConfiguration" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "configurationApi", + "name": "ConfigurationApi", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConfigurationApi" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdAtUtc", + "name": "CreatedAtUtc", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customProperties", + "name": "CustomProperties", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "developerPortalStatus", + "name": "DeveloperPortalStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeveloperPortalStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "developerPortalUrl", + "name": "DeveloperPortalUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "disableGateway", + "name": "DisableGateway", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enableClientCertificate", + "name": "EnableClientCertificate", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "gatewayRegionalUrl", + "name": "GatewayRegionalUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "gatewayUrl", + "name": "GatewayUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostnameConfigurations", + "name": "HostnameConfigurations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "HostnameConfiguration" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "legacyPortalStatus", + "name": "LegacyPortalStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "LegacyPortalStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "managementApiUrl", + "name": "ManagementApiUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "natGatewayState", + "name": "NatGatewayState", + "objectDefinition": { + "type": "Reference", + "referenceName": "NatGatewayState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "notificationSenderEmail", + "name": "NotificationSenderEmail", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "outboundPublicIPAddresses", + "name": "OutboundPublicIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "platformVersion", + "name": "PlatformVersion", + "objectDefinition": { + "type": "Reference", + "referenceName": "PlatformVersion" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "portalUrl", + "name": "PortalUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpointConnections", + "name": "PrivateEndpointConnections", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RemotePrivateEndpointConnectionWrapper" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateIPAddresses", + "name": "PrivateIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicIpAddressId", + "name": "PublicIPAddressId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicIPAddresses", + "name": "PublicIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicNetworkAccess", + "name": "PublicNetworkAccess", + "objectDefinition": { + "type": "Reference", + "referenceName": "PublicNetworkAccess" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publisherEmail", + "name": "PublisherEmail", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publisherName", + "name": "PublisherName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restore", + "name": "Restore", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scmUrl", + "name": "ScmUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "targetProvisioningState", + "name": "TargetProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualNetworkConfiguration", + "name": "VirtualNetworkConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "VirtualNetworkConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualNetworkType", + "name": "VirtualNetworkType", + "objectDefinition": { + "type": "Reference", + "referenceName": "VirtualNetworkType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiVersionConstraint.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiVersionConstraint.json new file mode 100644 index 00000000000..086d707d49a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ApiVersionConstraint.json @@ -0,0 +1,18 @@ +{ + "name": "ApiVersionConstraint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minApiVersion", + "name": "MinApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ArmIdWrapper.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ArmIdWrapper.json new file mode 100644 index 00000000000..9c8315bfa26 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ArmIdWrapper.json @@ -0,0 +1,18 @@ +{ + "name": "ArmIdWrapper", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateConfiguration.json new file mode 100644 index 00000000000..cb3cc52426f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateConfiguration.json @@ -0,0 +1,57 @@ +{ + "name": "CertificateConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificate", + "name": "Certificate", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificatePassword", + "name": "CertificatePassword", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "encodedCertificate", + "name": "EncodedCertificate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storeName", + "name": "StoreName", + "objectDefinition": { + "type": "Reference", + "referenceName": "StoreName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateInformation.json new file mode 100644 index 00000000000..3c457925347 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-CertificateInformation.json @@ -0,0 +1,45 @@ +{ + "name": "CertificateInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expiry", + "name": "Expiry", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "thumbprint", + "name": "Thumbprint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ConfigurationApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ConfigurationApi.json new file mode 100644 index 00000000000..6263cbc9014 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-ConfigurationApi.json @@ -0,0 +1,18 @@ +{ + "name": "ConfigurationApi", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "legacyApi", + "name": "LegacyApi", + "objectDefinition": { + "type": "Reference", + "referenceName": "LegacyApiState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-HostnameConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-HostnameConfiguration.json new file mode 100644 index 00000000000..a7464e3e8f5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-HostnameConfiguration.json @@ -0,0 +1,148 @@ +{ + "name": "HostnameConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificate", + "name": "Certificate", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificatePassword", + "name": "CertificatePassword", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateSource", + "name": "CertificateSource", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateSource" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateStatus", + "name": "CertificateStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultSslBinding", + "name": "DefaultSslBinding", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "encodedCertificate", + "name": "EncodedCertificate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identityClientId", + "name": "IdentityClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVaultId", + "name": "KeyVaultId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negotiateClientCertificate", + "name": "NegotiateClientCertificate", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "HostnameType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-MigrateToStv2Contract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-MigrateToStv2Contract.json new file mode 100644 index 00000000000..502fd795f73 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-MigrateToStv2Contract.json @@ -0,0 +1,18 @@ +{ + "name": "MigrateToStv2Contract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "mode", + "name": "Mode", + "objectDefinition": { + "type": "Reference", + "referenceName": "MigrateToStv2Mode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateEndpointConnectionWrapperProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateEndpointConnectionWrapperProperties.json new file mode 100644 index 00000000000..eba4220ad4d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateEndpointConnectionWrapperProperties.json @@ -0,0 +1,61 @@ +{ + "name": "PrivateEndpointConnectionWrapperProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupIds", + "name": "GroupIds", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpoint", + "name": "PrivateEndpoint", + "objectDefinition": { + "type": "Reference", + "referenceName": "ArmIdWrapper" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateLinkServiceConnectionState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateLinkServiceConnectionState.json new file mode 100644 index 00000000000..6c33dde96cb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-PrivateLinkServiceConnectionState.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateLinkServiceConnectionState", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionsRequired", + "name": "ActionsRequired", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointServiceConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-RemotePrivateEndpointConnectionWrapper.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-RemotePrivateEndpointConnectionWrapper.json new file mode 100644 index 00000000000..0bdd0a3930b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-RemotePrivateEndpointConnectionWrapper.json @@ -0,0 +1,57 @@ +{ + "name": "RemotePrivateEndpointConnectionWrapper", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionWrapperProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-VirtualNetworkConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-VirtualNetworkConfiguration.json new file mode 100644 index 00000000000..9a76cb9329a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Model-VirtualNetworkConfiguration.json @@ -0,0 +1,44 @@ +{ + "name": "VirtualNetworkConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subnetResourceId", + "name": "SubnetResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subnetname", + "name": "Subnetname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "vnetid", + "name": "Vnetid", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ApplyNetworkConfigurationUpdates.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ApplyNetworkConfigurationUpdates.json new file mode 100644 index 00000000000..9bb1ce86edd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ApplyNetworkConfigurationUpdates.json @@ -0,0 +1,20 @@ +{ + "name": "ApplyNetworkConfigurationUpdates", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceApplyNetworkConfigurationParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + }, + "uriSuffix": "/applynetworkconfigurationupdates" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Backup.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Backup.json new file mode 100644 index 00000000000..7b1e474734b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Backup.json @@ -0,0 +1,20 @@ +{ + "name": "Backup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceBackupRestoreParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + }, + "uriSuffix": "/backup" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CheckNameAvailability.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CheckNameAvailability.json new file mode 100644 index 00000000000..b479f3bbc00 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "name": "CheckNameAvailability", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "SubscriptionId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceCheckNameAvailabilityParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceNameAvailabilityResult" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/checkNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..988da4d2ef6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Delete.json new file mode 100644 index 00000000000..ee37c0a6cc5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Delete.json @@ -0,0 +1,16 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Get.json new file mode 100644 index 00000000000..6ad537b26d2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetDomainOwnershipIdentifier.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetDomainOwnershipIdentifier.json new file mode 100644 index 00000000000..11f662c34c1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetDomainOwnershipIdentifier.json @@ -0,0 +1,15 @@ +{ + "name": "GetDomainOwnershipIdentifier", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceGetDomainOwnershipIdentifierResult" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/getDomainOwnershipIdentifier" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetSsoToken.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetSsoToken.json new file mode 100644 index 00000000000..6de6ffd4853 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-GetSsoToken.json @@ -0,0 +1,15 @@ +{ + "name": "GetSsoToken", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceGetSsoTokenResult" + }, + "uriSuffix": "/getssotoken" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-List.json new file mode 100644 index 00000000000..9a676db9aa6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-List.json @@ -0,0 +1,16 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/service" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ListByResourceGroup.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ListByResourceGroup.json new file mode 100644 index 00000000000..3c9adfa4a01 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-ListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/service" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-MigrateToStv2.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-MigrateToStv2.json new file mode 100644 index 00000000000..448ec6f5b19 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-MigrateToStv2.json @@ -0,0 +1,20 @@ +{ + "name": "MigrateToStv2", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "MigrateToStv2Contract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + }, + "uriSuffix": "/migrateToStv2" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Restore.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Restore.json new file mode 100644 index 00000000000..282c12a58cb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Restore.json @@ -0,0 +1,20 @@ +{ + "name": "Restore", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceBackupRestoreParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + }, + "uriSuffix": "/restore" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Update.json new file mode 100644 index 00000000000..30b2d6f5013 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementServiceResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementService/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-ResourceSkuCapacityScaleType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-ResourceSkuCapacityScaleType.json new file mode 100644 index 00000000000..218f210d01d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-ResourceSkuCapacityScaleType.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceSkuCapacityScaleType", + "type": "String", + "values": [ + { + "key": "Automatic", + "value": "automatic" + }, + { + "key": "Manual", + "value": "manual" + }, + { + "key": "None", + "value": "none" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-SkuType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-SkuType.json new file mode 100644 index 00000000000..3c2a37ab33b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Constant-SkuType.json @@ -0,0 +1,38 @@ +{ + "name": "SkuType", + "type": "String", + "values": [ + { + "key": "Basic", + "value": "Basic" + }, + { + "key": "BasicVTwo", + "value": "BasicV2" + }, + { + "key": "Consumption", + "value": "Consumption" + }, + { + "key": "Developer", + "value": "Developer" + }, + { + "key": "Isolated", + "value": "Isolated" + }, + { + "key": "Premium", + "value": "Premium" + }, + { + "key": "Standard", + "value": "Standard" + }, + { + "key": "StandardVTwo", + "value": "StandardV2" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSku.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSku.json new file mode 100644 index 00000000000..4719626270b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSku.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceSku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "SkuType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuCapacity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuCapacity.json new file mode 100644 index 00000000000..022b41f6aa2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuCapacity.json @@ -0,0 +1,57 @@ +{ + "name": "ResourceSkuCapacity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "default", + "name": "Default", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maximum", + "name": "Maximum", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minimum", + "name": "Minimum", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scaleType", + "name": "ScaleType", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSkuCapacityScaleType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuResult.json new file mode 100644 index 00000000000..b1ff0116e5d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Model-ResourceSkuResult.json @@ -0,0 +1,44 @@ +{ + "name": "ResourceSkuResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSkuCapacity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Operation-ListAvailableServiceSkus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Operation-ListAvailableServiceSkus.json new file mode 100644 index 00000000000..e8ca8d6946b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/Operation-ListAvailableServiceSkus.json @@ -0,0 +1,16 @@ +{ + "name": "ListAvailableServiceSkus", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ResourceSkuResult" + }, + "uriSuffix": "/skus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementServiceSkus/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-ApiManagementWorkspaceLinksResource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-ApiManagementWorkspaceLinksResource.json new file mode 100644 index 00000000000..ef355d530fd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-ApiManagementWorkspaceLinksResource.json @@ -0,0 +1,70 @@ +{ + "name": "ApiManagementWorkspaceLinksResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "etag", + "name": "Etag", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "WorkspaceLinksBaseProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksBaseProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksBaseProperties.json new file mode 100644 index 00000000000..30e3850f080 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksBaseProperties.json @@ -0,0 +1,35 @@ +{ + "name": "WorkspaceLinksBaseProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "gateways", + "name": "Gateways", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WorkspaceLinksGateway" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "workspaceId", + "name": "WorkspaceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksGateway.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksGateway.json new file mode 100644 index 00000000000..cc66c1f4649 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Model-WorkspaceLinksGateway.json @@ -0,0 +1,18 @@ +{ + "name": "WorkspaceLinksGateway", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ApiManagementWorkspaceLinkGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ApiManagementWorkspaceLinkGet.json new file mode 100644 index 00000000000..f87eaaf19c3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ApiManagementWorkspaceLinkGet.json @@ -0,0 +1,14 @@ +{ + "name": "ApiManagementWorkspaceLinkGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementWorkspaceLinksResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ListByService.json new file mode 100644 index 00000000000..b04015c4379 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementWorkspaceLinksResource" + }, + "uriSuffix": "/workspaceLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-WorkspaceLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-WorkspaceLinkId.json new file mode 100644 index 00000000000..07f91ff76bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiManagementWorkspaceLinks/ResourceId-WorkspaceLinkId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaceLinks/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaceLinks", + "type": "Static", + "value": "workspaceLinks" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContract.json new file mode 100644 index 00000000000..e0c3be34795 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContract.json @@ -0,0 +1,57 @@ +{ + "name": "OperationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContractProperties.json new file mode 100644 index 00000000000..36c0b54e57b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationContractProperties.json @@ -0,0 +1,117 @@ +{ + "name": "OperationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "policies", + "name": "Policies", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "request", + "name": "Request", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responses", + "name": "Responses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResponseContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "templateParameters", + "name": "TemplateParameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlTemplate", + "name": "UrlTemplate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContract.json new file mode 100644 index 00000000000..e1ab52ce770 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "OperationUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationUpdateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContractProperties.json new file mode 100644 index 00000000000..84282df1a76 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-OperationUpdateContractProperties.json @@ -0,0 +1,117 @@ +{ + "name": "OperationUpdateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "policies", + "name": "Policies", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "request", + "name": "Request", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responses", + "name": "Responses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResponseContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "templateParameters", + "name": "TemplateParameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlTemplate", + "name": "UrlTemplate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterContract.json new file mode 100644 index 00000000000..bdbd64ec85b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterContract.json @@ -0,0 +1,130 @@ +{ + "name": "ParameterContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultValue", + "name": "DefaultValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "examples", + "name": "Examples", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterExampleContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "required", + "name": "Required", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "schemaId", + "name": "SchemaId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "values", + "name": "Values", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterExampleContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterExampleContract.json new file mode 100644 index 00000000000..77f38b02834 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ParameterExampleContract.json @@ -0,0 +1,57 @@ +{ + "name": "ParameterExampleContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalValue", + "name": "ExternalValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "summary", + "name": "Summary", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RepresentationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RepresentationContract.json new file mode 100644 index 00000000000..c4133a93655 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RepresentationContract.json @@ -0,0 +1,78 @@ +{ + "name": "RepresentationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentType", + "name": "ContentType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "examples", + "name": "Examples", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterExampleContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "formParameters", + "name": "FormParameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "schemaId", + "name": "SchemaId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RequestContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RequestContract.json new file mode 100644 index 00000000000..eb698598230 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-RequestContract.json @@ -0,0 +1,69 @@ +{ + "name": "RequestContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headers", + "name": "Headers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParameters", + "name": "QueryParameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "representations", + "name": "Representations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RepresentationContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ResponseContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ResponseContract.json new file mode 100644 index 00000000000..da51456b783 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Model-ResponseContract.json @@ -0,0 +1,65 @@ +{ + "name": "ResponseContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headers", + "name": "Headers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "representations", + "name": "Representations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RepresentationContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "statusCode", + "name": "StatusCode", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..8571af6b7a7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OperationId", + "requestObject": { + "type": "Reference", + "referenceName": "OperationContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Delete.json new file mode 100644 index 00000000000..644f503bebd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OperationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Get.json new file mode 100644 index 00000000000..fabe6e2943b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OperationId", + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-GetEntityTag.json new file mode 100644 index 00000000000..97a46f8c389 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "OperationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-ListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-ListByApi.json new file mode 100644 index 00000000000..124844cc2c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-ListByApi.json @@ -0,0 +1,58 @@ +{ + "name": "ListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "tags", + "required": false, + "field": "Tags", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + }, + "uriSuffix": "/operations" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Update.json new file mode 100644 index 00000000000..5d3b16f3b39 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OperationId", + "requestObject": { + "type": "Reference", + "referenceName": "OperationUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationCreateOrUpdate.json new file mode 100644 index 00000000000..7b904fbe4f4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceApiOperationCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiOperationId", + "requestObject": { + "type": "Reference", + "referenceName": "OperationContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationDelete.json new file mode 100644 index 00000000000..7682d680f4f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceApiOperationDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiOperationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGet.json new file mode 100644 index 00000000000..5ecf06b18b3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceApiOperationGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiOperationId", + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGetEntityTag.json new file mode 100644 index 00000000000..b136d6696dd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceApiOperationGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiOperationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationListByApi.json new file mode 100644 index 00000000000..dce432c8176 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationListByApi.json @@ -0,0 +1,58 @@ +{ + "name": "WorkspaceApiOperationListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "tags", + "required": false, + "field": "Tags", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + }, + "uriSuffix": "/operations" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationUpdate.json new file mode 100644 index 00000000000..31d3b147e52 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/Operation-WorkspaceApiOperationUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceApiOperationUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiOperationId", + "requestObject": { + "type": "Reference", + "referenceName": "OperationUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OperationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiOperationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiOperationId.json new file mode 100644 index 00000000000..556f8fc4bfd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-ApiOperationId.json @@ -0,0 +1,70 @@ +{ + "name": "ApiOperationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/operations/{operationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticOperations", + "type": "Static", + "value": "operations" + }, + { + "name": "operationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-OperationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-OperationId.json new file mode 100644 index 00000000000..c4167de9846 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-OperationId.json @@ -0,0 +1,61 @@ +{ + "name": "OperationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticOperations", + "type": "Static", + "value": "operations" + }, + { + "name": "operationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-WorkspaceApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-WorkspaceApiId.json new file mode 100644 index 00000000000..5a38a1ef969 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperation/ResourceId-WorkspaceApiId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyContentFormat.json new file mode 100644 index 00000000000..bc4977147f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyContentFormat.json @@ -0,0 +1,22 @@ +{ + "name": "PolicyContentFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "RawxmlNegativelink", + "value": "rawxml-link" + }, + { + "key": "Xml", + "value": "xml" + }, + { + "key": "XmlNegativelink", + "value": "xml-link" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyExportFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyExportFormat.json new file mode 100644 index 00000000000..21d38c5082c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Constant-PolicyExportFormat.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyExportFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContract.json new file mode 100644 index 00000000000..7ba335fd78d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContractProperties.json new file mode 100644 index 00000000000..fa677e5cc12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Model-PolicyContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..906e675d025 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OperationId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Delete.json new file mode 100644 index 00000000000..8a3b52376c4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OperationId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Get.json new file mode 100644 index 00000000000..c431879ead9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-Get.json @@ -0,0 +1,27 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "OperationId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-GetEntityTag.json new file mode 100644 index 00000000000..ec704d2ea2f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "OperationId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-ListByOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-ListByOperation.json new file mode 100644 index 00000000000..1338da6730c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-ListByOperation.json @@ -0,0 +1,16 @@ +{ + "name": "ListByOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OperationId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyCreateOrUpdate.json new file mode 100644 index 00000000000..69b27b94a94 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyCreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "WorkspaceApiOperationPolicyCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiOperationId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyDelete.json new file mode 100644 index 00000000000..e37e1fcee0e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyDelete.json @@ -0,0 +1,24 @@ +{ + "name": "WorkspaceApiOperationPolicyDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiOperationId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGet.json new file mode 100644 index 00000000000..62c73e71a72 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGet.json @@ -0,0 +1,27 @@ +{ + "name": "WorkspaceApiOperationPolicyGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "ApiOperationId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGetEntityTag.json new file mode 100644 index 00000000000..4288bf33b97 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyGetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceApiOperationPolicyGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiOperationId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyListByOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyListByOperation.json new file mode 100644 index 00000000000..a1923fdf881 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/Operation-WorkspaceApiOperationPolicyListByOperation.json @@ -0,0 +1,16 @@ +{ + "name": "WorkspaceApiOperationPolicyListByOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiOperationId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-ApiOperationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-ApiOperationId.json new file mode 100644 index 00000000000..556f8fc4bfd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-ApiOperationId.json @@ -0,0 +1,70 @@ +{ + "name": "ApiOperationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/operations/{operationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticOperations", + "type": "Static", + "value": "operations" + }, + { + "name": "operationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-OperationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-OperationId.json new file mode 100644 index 00000000000..c4167de9846 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationPolicy/ResourceId-OperationId.json @@ -0,0 +1,61 @@ +{ + "name": "OperationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticOperations", + "type": "Static", + "value": "operations" + }, + { + "name": "operationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContract.json new file mode 100644 index 00000000000..974044504c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContractProperties.json new file mode 100644 index 00000000000..afad7b20d3d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Model-TagContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "TagContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagAssignToOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagAssignToOperation.json new file mode 100644 index 00000000000..aefbae6a688 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagAssignToOperation.json @@ -0,0 +1,15 @@ +{ + "name": "TagAssignToOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "OperationTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagDetachFromOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagDetachFromOperation.json new file mode 100644 index 00000000000..91d1aa3b87d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagDetachFromOperation.json @@ -0,0 +1,11 @@ +{ + "name": "TagDetachFromOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "OperationTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetByOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetByOperation.json new file mode 100644 index 00000000000..3c3e1ad33bc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetByOperation.json @@ -0,0 +1,14 @@ +{ + "name": "TagGetByOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OperationTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetEntityStateByOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetEntityStateByOperation.json new file mode 100644 index 00000000000..9a5cc0f742a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagGetEntityStateByOperation.json @@ -0,0 +1,10 @@ +{ + "name": "TagGetEntityStateByOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "OperationTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagListByOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagListByOperation.json new file mode 100644 index 00000000000..616b1ffc837 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/Operation-TagListByOperation.json @@ -0,0 +1,48 @@ +{ + "name": "TagListByOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "OperationId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + }, + "uriSuffix": "/tags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationId.json new file mode 100644 index 00000000000..c4167de9846 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationId.json @@ -0,0 +1,61 @@ +{ + "name": "OperationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticOperations", + "type": "Static", + "value": "operations" + }, + { + "name": "operationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationTagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationTagId.json new file mode 100644 index 00000000000..9035301ff93 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationTag/ResourceId-OperationTagId.json @@ -0,0 +1,70 @@ +{ + "name": "OperationTagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticOperations", + "type": "Static", + "value": "operations" + }, + { + "name": "operationId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ApiType.json new file mode 100644 index 00000000000..efb64db773a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ApiType.json @@ -0,0 +1,30 @@ +{ + "name": "ApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-BearerTokenSendingMethods.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-BearerTokenSendingMethods.json new file mode 100644 index 00000000000..f42ecfe32b4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-BearerTokenSendingMethods.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethods", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ProductState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ProductState.json new file mode 100644 index 00000000000..e205639ffd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-ProductState.json @@ -0,0 +1,14 @@ +{ + "name": "ProductState", + "type": "String", + "values": [ + { + "key": "NotPublished", + "value": "notPublished" + }, + { + "key": "Published", + "value": "published" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-Protocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-Protocol.json new file mode 100644 index 00000000000..3c4dea1da2d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Constant-Protocol.json @@ -0,0 +1,22 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "HTTPS", + "value": "https" + }, + { + "key": "Ws", + "value": "ws" + }, + { + "key": "Wss", + "value": "wss" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiContactInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiContactInformation.json new file mode 100644 index 00000000000..d6c9e910e4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiContactInformation.json @@ -0,0 +1,44 @@ +{ + "name": "ApiContactInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiLicenseInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiLicenseInformation.json new file mode 100644 index 00000000000..c1d5c9a227a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiLicenseInformation.json @@ -0,0 +1,31 @@ +{ + "name": "ApiLicenseInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiTagResourceContractProperties.json new file mode 100644 index 00000000000..726ace36bee --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ApiTagResourceContractProperties.json @@ -0,0 +1,269 @@ +{ + "name": "ApiTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-AuthenticationSettingsContract.json new file mode 100644 index 00000000000..eff9940699c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-AuthenticationSettingsContract.json @@ -0,0 +1,65 @@ +{ + "name": "AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2", + "name": "OAuth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2AuthenticationSettings", + "name": "OAuth2AuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openid", + "name": "Openid", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidAuthenticationSettings", + "name": "OpenidAuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OAuth2AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OAuth2AuthenticationSettingsContract.json new file mode 100644 index 00000000000..a535d1fc2aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OAuth2AuthenticationSettingsContract.json @@ -0,0 +1,31 @@ +{ + "name": "OAuth2AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationServerId", + "name": "AuthorizationServerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OpenIdAuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OpenIdAuthenticationSettingsContract.json new file mode 100644 index 00000000000..e7f51ef8de5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OpenIdAuthenticationSettingsContract.json @@ -0,0 +1,35 @@ +{ + "name": "OpenIdAuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethods" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidProviderId", + "name": "OpenidProviderId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OperationTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OperationTagResourceContractProperties.json new file mode 100644 index 00000000000..a5035ff0ad3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-OperationTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "OperationTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiName", + "name": "ApiName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlTemplate", + "name": "UrlTemplate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ProductTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ProductTagResourceContractProperties.json new file mode 100644 index 00000000000..a74ee909567 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-ProductTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "ProductTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "approvalRequired", + "name": "ApprovalRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionsLimit", + "name": "SubscriptionsLimit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "terms", + "name": "Terms", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-SubscriptionKeyParameterNamesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-SubscriptionKeyParameterNamesContract.json new file mode 100644 index 00000000000..039a61eafd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-SubscriptionKeyParameterNamesContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeyParameterNamesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagResourceContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagResourceContract.json new file mode 100644 index 00000000000..fe01e7f8413 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagResourceContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagResourceContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "api", + "name": "Api", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operation", + "name": "Operation", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "product", + "name": "Product", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tag", + "name": "Tag", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagTagResourceContractProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagTagResourceContractProperties.json new file mode 100644 index 00000000000..1803cec77bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Model-TagTagResourceContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "TagTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Operation-OperationListByTags.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Operation-OperationListByTags.json new file mode 100644 index 00000000000..e9d26a285af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/Operation-OperationListByTags.json @@ -0,0 +1,58 @@ +{ + "name": "OperationListByTags", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "includeNotTaggedOperations", + "required": false, + "field": "IncludeNotTaggedOperations", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "TagResourceContract" + }, + "uriSuffix": "/operationsByTags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiOperationsByTag/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyContentFormat.json new file mode 100644 index 00000000000..bc4977147f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyContentFormat.json @@ -0,0 +1,22 @@ +{ + "name": "PolicyContentFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "RawxmlNegativelink", + "value": "rawxml-link" + }, + { + "key": "Xml", + "value": "xml" + }, + { + "key": "XmlNegativelink", + "value": "xml-link" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyExportFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyExportFormat.json new file mode 100644 index 00000000000..21d38c5082c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Constant-PolicyExportFormat.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyExportFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContract.json new file mode 100644 index 00000000000..7ba335fd78d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContractProperties.json new file mode 100644 index 00000000000..fa677e5cc12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Model-PolicyContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..e804ae05e2e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Delete.json new file mode 100644 index 00000000000..da86fcb3fe0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Get.json new file mode 100644 index 00000000000..aa3c8805499 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-Get.json @@ -0,0 +1,27 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-GetEntityTag.json new file mode 100644 index 00000000000..5da568d7030 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-ListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-ListByApi.json new file mode 100644 index 00000000000..59e8342ae91 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-ListByApi.json @@ -0,0 +1,16 @@ +{ + "name": "ListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyCreateOrUpdate.json new file mode 100644 index 00000000000..565727a1360 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyCreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "WorkspaceApiPolicyCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyDelete.json new file mode 100644 index 00000000000..0a3ac1ddbfd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyDelete.json @@ -0,0 +1,24 @@ +{ + "name": "WorkspaceApiPolicyDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGet.json new file mode 100644 index 00000000000..7887da179f6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGet.json @@ -0,0 +1,27 @@ +{ + "name": "WorkspaceApiPolicyGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGetEntityTag.json new file mode 100644 index 00000000000..b532f48c8a8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyGetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceApiPolicyGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceApiId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyListByApi.json new file mode 100644 index 00000000000..ac1f78926d1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/Operation-WorkspaceApiPolicyListByApi.json @@ -0,0 +1,16 @@ +{ + "name": "WorkspaceApiPolicyListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-WorkspaceApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-WorkspaceApiId.json new file mode 100644 index 00000000000..5a38a1ef969 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiPolicy/ResourceId-WorkspaceApiId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Constant-ProductState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Constant-ProductState.json new file mode 100644 index 00000000000..e205639ffd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Constant-ProductState.json @@ -0,0 +1,14 @@ +{ + "name": "ProductState", + "type": "String", + "values": [ + { + "key": "NotPublished", + "value": "notPublished" + }, + { + "key": "Published", + "value": "published" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContract.json new file mode 100644 index 00000000000..e47c9079b4f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContract.json @@ -0,0 +1,57 @@ +{ + "name": "ProductContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContractProperties.json new file mode 100644 index 00000000000..3f71889424b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Model-ProductContractProperties.json @@ -0,0 +1,96 @@ +{ + "name": "ProductContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "approvalRequired", + "name": "ApprovalRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionsLimit", + "name": "SubscriptionsLimit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "terms", + "name": "Terms", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Operation-ListByApis.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Operation-ListByApis.json new file mode 100644 index 00000000000..f3080d72983 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/Operation-ListByApis.json @@ -0,0 +1,48 @@ +{ + "name": "ListByApis", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + }, + "uriSuffix": "/products" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiProduct/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContract.json new file mode 100644 index 00000000000..40a74040bc9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContract.json @@ -0,0 +1,57 @@ +{ + "name": "ApiReleaseContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiReleaseContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContractProperties.json new file mode 100644 index 00000000000..5de81c36e9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Model-ApiReleaseContractProperties.json @@ -0,0 +1,59 @@ +{ + "name": "ApiReleaseContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDateTime", + "name": "CreatedDateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "notes", + "name": "Notes", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "updatedDateTime", + "name": "UpdatedDateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..7c818a321da --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ReleaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Delete.json new file mode 100644 index 00000000000..bb887a15a75 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ReleaseId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Get.json new file mode 100644 index 00000000000..e3758fe7a27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ReleaseId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-GetEntityTag.json new file mode 100644 index 00000000000..79443b7fecd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ReleaseId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-ListByService.json new file mode 100644 index 00000000000..f10b734f6d6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + }, + "uriSuffix": "/releases" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Update.json new file mode 100644 index 00000000000..ae86dd48032 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ReleaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseCreateOrUpdate.json new file mode 100644 index 00000000000..55aed0683d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceApiReleaseCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiReleaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseDelete.json new file mode 100644 index 00000000000..fff23b9f705 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceApiReleaseDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiReleaseId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGet.json new file mode 100644 index 00000000000..027954d2d63 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceApiReleaseGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiReleaseId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGetEntityTag.json new file mode 100644 index 00000000000..4f70c84d133 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceApiReleaseGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiReleaseId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseListByService.json new file mode 100644 index 00000000000..f4f48174305 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseListByService.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceApiReleaseListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + }, + "uriSuffix": "/releases" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseUpdate.json new file mode 100644 index 00000000000..1ae5a8d5f48 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/Operation-WorkspaceApiReleaseUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceApiReleaseUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiReleaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiReleaseContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiReleaseId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiReleaseId.json new file mode 100644 index 00000000000..cd6cd3360f5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ApiReleaseId.json @@ -0,0 +1,70 @@ +{ + "name": "ApiReleaseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/releases/{releaseId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticReleases", + "type": "Static", + "value": "releases" + }, + { + "name": "releaseId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ReleaseId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ReleaseId.json new file mode 100644 index 00000000000..ef645ea5849 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-ReleaseId.json @@ -0,0 +1,61 @@ +{ + "name": "ReleaseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticReleases", + "type": "Static", + "value": "releases" + }, + { + "name": "releaseId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-WorkspaceApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-WorkspaceApiId.json new file mode 100644 index 00000000000..5a38a1ef969 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRelease/ResourceId-WorkspaceApiId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Model-ApiRevisionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Model-ApiRevisionContract.json new file mode 100644 index 00000000000..17308f90638 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Model-ApiRevisionContract.json @@ -0,0 +1,111 @@ +{ + "name": "ApiRevisionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDateTime", + "name": "CreatedDateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateUrl", + "name": "PrivateUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "updatedDateTime", + "name": "UpdatedDateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-ListByService.json new file mode 100644 index 00000000000..8db5bdf6315 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiRevisionContract" + }, + "uriSuffix": "/revisions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-WorkspaceApiRevisionListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-WorkspaceApiRevisionListByService.json new file mode 100644 index 00000000000..412dc81e150 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/Operation-WorkspaceApiRevisionListByService.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceApiRevisionListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiRevisionContract" + }, + "uriSuffix": "/revisions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-WorkspaceApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-WorkspaceApiId.json new file mode 100644 index 00000000000..5a38a1ef969 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiRevision/ResourceId-WorkspaceApiId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContract.json new file mode 100644 index 00000000000..41f67d83569 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContract.json @@ -0,0 +1,57 @@ +{ + "name": "SchemaContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SchemaContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContractProperties.json new file mode 100644 index 00000000000..af843313bbc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "SchemaContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentType", + "name": "ContentType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "document", + "name": "Document", + "objectDefinition": { + "type": "Reference", + "referenceName": "SchemaDocumentProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaDocumentProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaDocumentProperties.json new file mode 100644 index 00000000000..46bc57bdde7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Model-SchemaDocumentProperties.json @@ -0,0 +1,44 @@ +{ + "name": "SchemaDocumentProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "components", + "name": "Components", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "definitions", + "name": "Definitions", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..9b7e6b486a4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiSchemaId", + "requestObject": { + "type": "Reference", + "referenceName": "SchemaContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Delete.json new file mode 100644 index 00000000000..533903319cd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Delete.json @@ -0,0 +1,33 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "optional": true, + "queryString": "force", + "required": false, + "field": "Force", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiSchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Get.json new file mode 100644 index 00000000000..5920bf28fe8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiSchemaId", + "responseObject": { + "type": "Reference", + "referenceName": "SchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-GetEntityTag.json new file mode 100644 index 00000000000..05c9592f800 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiSchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-ListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-ListByApi.json new file mode 100644 index 00000000000..c9bed1eb12b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-ListByApi.json @@ -0,0 +1,48 @@ +{ + "name": "ListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "SchemaContract" + }, + "uriSuffix": "/schemas" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaCreateOrUpdate.json new file mode 100644 index 00000000000..7d72485ee04 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceApiSchemaCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiSchemaId", + "requestObject": { + "type": "Reference", + "referenceName": "SchemaContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaDelete.json new file mode 100644 index 00000000000..7215a9be034 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaDelete.json @@ -0,0 +1,33 @@ +{ + "name": "WorkspaceApiSchemaDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "optional": true, + "queryString": "force", + "required": false, + "field": "Force", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiSchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGet.json new file mode 100644 index 00000000000..dc0449d7488 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceApiSchemaGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceApiSchemaId", + "responseObject": { + "type": "Reference", + "referenceName": "SchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGetEntityTag.json new file mode 100644 index 00000000000..9d4d2b9f4e4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceApiSchemaGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceApiSchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaListByApi.json new file mode 100644 index 00000000000..97813d5ac03 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/Operation-WorkspaceApiSchemaListByApi.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceApiSchemaListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiId", + "responseObject": { + "type": "Reference", + "referenceName": "SchemaContract" + }, + "uriSuffix": "/schemas" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiSchemaId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiSchemaId.json new file mode 100644 index 00000000000..a7d18d129db --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-ApiSchemaId.json @@ -0,0 +1,61 @@ +{ + "name": "ApiSchemaId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticSchemas", + "type": "Static", + "value": "schemas" + }, + { + "name": "schemaId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiId.json new file mode 100644 index 00000000000..5a38a1ef969 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiSchemaId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiSchemaId.json new file mode 100644 index 00000000000..d83c60c8d30 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiSchema/ResourceId-WorkspaceApiSchemaId.json @@ -0,0 +1,70 @@ +{ + "name": "WorkspaceApiSchemaId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apis/{apiId}/schemas/{schemaId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticSchemas", + "type": "Static", + "value": "schemas" + }, + { + "name": "schemaId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContract.json new file mode 100644 index 00000000000..974044504c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContractProperties.json new file mode 100644 index 00000000000..afad7b20d3d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Model-TagContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "TagContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagAssignToApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagAssignToApi.json new file mode 100644 index 00000000000..aafe9f6e351 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagAssignToApi.json @@ -0,0 +1,15 @@ +{ + "name": "TagAssignToApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ApiTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagDetachFromApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagDetachFromApi.json new file mode 100644 index 00000000000..459469ab022 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagDetachFromApi.json @@ -0,0 +1,11 @@ +{ + "name": "TagDetachFromApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ApiTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetByApi.json new file mode 100644 index 00000000000..10feed9d140 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetByApi.json @@ -0,0 +1,14 @@ +{ + "name": "TagGetByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetEntityStateByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetEntityStateByApi.json new file mode 100644 index 00000000000..dd4a7b84f17 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagGetEntityStateByApi.json @@ -0,0 +1,10 @@ +{ + "name": "TagGetEntityStateByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagListByApi.json new file mode 100644 index 00000000000..f5114ab8f8c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/Operation-TagListByApi.json @@ -0,0 +1,48 @@ +{ + "name": "TagListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + }, + "uriSuffix": "/tags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiTagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiTagId.json new file mode 100644 index 00000000000..d434805c4ac --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTag/ResourceId-ApiTagId.json @@ -0,0 +1,61 @@ +{ + "name": "ApiTagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionBaseProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionBaseProperties.json new file mode 100644 index 00000000000..cc51e1e6330 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionBaseProperties.json @@ -0,0 +1,44 @@ +{ + "name": "TagDescriptionBaseProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalDocsDescription", + "name": "ExternalDocsDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalDocsUrl", + "name": "ExternalDocsUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContract.json new file mode 100644 index 00000000000..09296e3b9b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagDescriptionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagDescriptionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContractProperties.json new file mode 100644 index 00000000000..ce6c8a04e81 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "TagDescriptionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalDocsDescription", + "name": "ExternalDocsDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalDocsUrl", + "name": "ExternalDocsUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tagId", + "name": "TagId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionCreateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionCreateParameters.json new file mode 100644 index 00000000000..1ddc1da823d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Model-TagDescriptionCreateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "TagDescriptionCreateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagDescriptionBaseProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..f2606b3cd8b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TagDescriptionId", + "requestObject": { + "type": "Reference", + "referenceName": "TagDescriptionCreateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagDescriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Delete.json new file mode 100644 index 00000000000..a006ceb04ad --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TagDescriptionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Get.json new file mode 100644 index 00000000000..d8a63f8c1fd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "TagDescriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "TagDescriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-GetEntityTag.json new file mode 100644 index 00000000000..b0b8846abfa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "TagDescriptionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-ListByService.json new file mode 100644 index 00000000000..e5a4c245dcc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "TagDescriptionContract" + }, + "uriSuffix": "/tagDescriptions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-TagDescriptionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-TagDescriptionId.json new file mode 100644 index 00000000000..8e69cd9136a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiTagDescription/ResourceId-TagDescriptionId.json @@ -0,0 +1,61 @@ +{ + "name": "TagDescriptionId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagDescriptionId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticTagDescriptions", + "type": "Static", + "value": "tagDescriptions" + }, + { + "name": "tagDescriptionId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionDefinition.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionDefinition.json new file mode 100644 index 00000000000..f1c4b5c635b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionDefinition.json @@ -0,0 +1,127 @@ +{ + "apiVersion": "2024-05-01", + "isPreview": false, + "generate": true, + "resources": [ + "AllPolicies", + "Api", + "ApiDiagnostic", + "ApiGateway", + "ApiGatewayConfigConnection", + "ApiIssue", + "ApiIssueAttachment", + "ApiIssueComment", + "ApiManagementGatewaySkus", + "ApiManagementService", + "ApiManagementServiceSkus", + "ApiManagementWorkspaceLinks", + "ApiOperation", + "ApiOperationPolicy", + "ApiOperationTag", + "ApiOperationsByTag", + "ApiPolicy", + "ApiProduct", + "ApiRelease", + "ApiRevision", + "ApiSchema", + "ApiTag", + "ApiTagDescription", + "ApiVersionSet", + "ApiVersionSets", + "ApiWiki", + "ApisByTag", + "Authorization", + "AuthorizationAccessPolicy", + "AuthorizationConfirmConsentCode", + "AuthorizationLoginLinks", + "AuthorizationProvider", + "AuthorizationServer", + "Authorizations", + "Backend", + "BackendReconnect", + "Cache", + "Certificate", + "ContentType", + "ContentTypeContentItem", + "DelegationSettings", + "DeletedService", + "Diagnostic", + "DocumentationResource", + "EmailTemplate", + "EmailTemplates", + "Gateway", + "GatewayApi", + "GatewayCertificateAuthority", + "GatewayGenerateToken", + "GatewayHostnameConfiguration", + "GatewayInvalidateDebugCredentials", + "GatewayListDebugCredentials", + "GatewayListKeys", + "GatewayListTrace", + "GatewayRegenerateKey", + "GraphQLApiResolver", + "GraphQLApiResolverPolicy", + "Group", + "GroupUser", + "IdentityProvider", + "Issue", + "Logger", + "NamedValue", + "NetworkStatus", + "Notification", + "NotificationRecipientEmail", + "NotificationRecipientUser", + "OpenidConnectProvider", + "OutboundNetworkDependenciesEndpoints", + "PerformConnectivityCheck", + "Policy", + "PolicyDescription", + "PolicyFragment", + "PolicyRestriction", + "PolicyRestrictions", + "PolicyRestrictionsValidations", + "PortalConfig", + "PortalRevision", + "PortalSettings", + "PrivateEndpointConnections", + "Product", + "ProductApi", + "ProductApiLink", + "ProductGroup", + "ProductGroupLink", + "ProductPolicy", + "ProductSubscription", + "ProductTag", + "ProductWiki", + "ProductsByTag", + "QuotaByCounterKeys", + "QuotaByPeriodKeys", + "Region", + "Reports", + "Schema", + "SignInSettings", + "SignUpSettings", + "Skus", + "Subscription", + "Tag", + "TagApiLink", + "TagOperationLink", + "TagProductLink", + "TagResource", + "TenantAccess", + "TenantAccessGit", + "TenantConfiguration", + "TenantConfigurationSyncState", + "TenantSettings", + "User", + "UserConfirmationPasswordSend", + "UserGroup", + "UserIdentity", + "UserSubscription", + "UserToken", + "Users", + "Workspace", + "WorkspacePolicy" + ], + "source": "Azure/azure-rest-api-specs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Constant-VersioningScheme.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Constant-VersioningScheme.json new file mode 100644 index 00000000000..a3170d16bf4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Constant-VersioningScheme.json @@ -0,0 +1,18 @@ +{ + "name": "VersioningScheme", + "type": "String", + "values": [ + { + "key": "Header", + "value": "Header" + }, + { + "key": "Query", + "value": "Query" + }, + { + "key": "Segment", + "value": "Segment" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContract.json new file mode 100644 index 00000000000..92830acd202 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContract.json @@ -0,0 +1,57 @@ +{ + "name": "ApiVersionSetContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionSetContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContractProperties.json new file mode 100644 index 00000000000..0dafbbeca78 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "ApiVersionSetContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionHeaderName", + "name": "VersionHeaderName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionQueryName", + "name": "VersionQueryName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versioningScheme", + "name": "VersioningScheme", + "objectDefinition": { + "type": "Reference", + "referenceName": "VersioningScheme" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParameters.json new file mode 100644 index 00000000000..3a1c1b93471 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "ApiVersionSetUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionSetUpdateParametersProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParametersProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParametersProperties.json new file mode 100644 index 00000000000..c8156a61ff2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Model-ApiVersionSetUpdateParametersProperties.json @@ -0,0 +1,70 @@ +{ + "name": "ApiVersionSetUpdateParametersProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionHeaderName", + "name": "VersionHeaderName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionQueryName", + "name": "VersionQueryName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versioningScheme", + "name": "VersioningScheme", + "objectDefinition": { + "type": "Reference", + "referenceName": "VersioningScheme" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..72abb02fd52 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiVersionSetId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Get.json new file mode 100644 index 00000000000..1860bd672d4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiVersionSetId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-GetEntityTag.json new file mode 100644 index 00000000000..e59e990010c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiVersionSetId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-ListByService.json new file mode 100644 index 00000000000..04c04cd21b5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + }, + "uriSuffix": "/apiVersionSets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Update.json new file mode 100644 index 00000000000..603d38dd48b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiVersionSetId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiVersionSetUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetCreateOrUpdate.json new file mode 100644 index 00000000000..3f04a99007e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceApiVersionSetCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiVersionSetId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGet.json new file mode 100644 index 00000000000..74fa2f93e4d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceApiVersionSetGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceApiVersionSetId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGetEntityTag.json new file mode 100644 index 00000000000..b0e2a30737c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceApiVersionSetGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceApiVersionSetId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetListByService.json new file mode 100644 index 00000000000..092b3dc94e8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetListByService.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceApiVersionSetListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + }, + "uriSuffix": "/apiVersionSets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetUpdate.json new file mode 100644 index 00000000000..7c4b231fcd3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/Operation-WorkspaceApiVersionSetUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceApiVersionSetUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiVersionSetId", + "requestObject": { + "type": "Reference", + "referenceName": "ApiVersionSetUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiVersionSetContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ApiVersionSetId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ApiVersionSetId.json new file mode 100644 index 00000000000..de0c1f44d0d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ApiVersionSetId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiVersionSetId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApiVersionSets", + "type": "Static", + "value": "apiVersionSets" + }, + { + "name": "versionSetId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceApiVersionSetId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceApiVersionSetId.json new file mode 100644 index 00000000000..369d7597c78 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceApiVersionSetId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiVersionSetId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apiVersionSets/{versionSetId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApiVersionSets", + "type": "Static", + "value": "apiVersionSets" + }, + { + "name": "versionSetId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSet/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-ApiVersionSetDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-ApiVersionSetDelete.json new file mode 100644 index 00000000000..2c6ef9a1d55 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-ApiVersionSetDelete.json @@ -0,0 +1,23 @@ +{ + "name": "ApiVersionSetDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiVersionSetId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-WorkspaceApiVersionSetDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-WorkspaceApiVersionSetDelete.json new file mode 100644 index 00000000000..390b7c80074 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/Operation-WorkspaceApiVersionSetDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceApiVersionSetDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceApiVersionSetId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-ApiVersionSetId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-ApiVersionSetId.json new file mode 100644 index 00000000000..de0c1f44d0d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-ApiVersionSetId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiVersionSetId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApiVersionSets", + "type": "Static", + "value": "apiVersionSets" + }, + { + "name": "versionSetId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-WorkspaceApiVersionSetId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-WorkspaceApiVersionSetId.json new file mode 100644 index 00000000000..369d7597c78 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiVersionSets/ResourceId-WorkspaceApiVersionSetId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceApiVersionSetId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/apiVersionSets/{versionSetId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticApiVersionSets", + "type": "Static", + "value": "apiVersionSets" + }, + { + "name": "versionSetId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContract.json new file mode 100644 index 00000000000..7e60f3338f5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContract.json @@ -0,0 +1,57 @@ +{ + "name": "WikiContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "WikiContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContractProperties.json new file mode 100644 index 00000000000..e3994f2474a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiContractProperties.json @@ -0,0 +1,22 @@ +{ + "name": "WikiContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "documents", + "name": "Documents", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WikiDocumentationContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiDocumentationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiDocumentationContract.json new file mode 100644 index 00000000000..b68a9aca28b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiDocumentationContract.json @@ -0,0 +1,18 @@ +{ + "name": "WikiDocumentationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "documentationId", + "name": "DocumentationId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiUpdateContract.json new file mode 100644 index 00000000000..51a3e473435 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Model-WikiUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "WikiUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "WikiContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..c704b2a8b0a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "requestObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Delete.json new file mode 100644 index 00000000000..12aeb3e2701 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Get.json new file mode 100644 index 00000000000..48b3ff4904b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Get.json @@ -0,0 +1,15 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-GetEntityTag.json new file mode 100644 index 00000000000..fc1c2438c05 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ApiId", + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-List.json new file mode 100644 index 00000000000..8def8352b53 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-List.json @@ -0,0 +1,48 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Update.json new file mode 100644 index 00000000000..8cca5008663 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/Operation-Update.json @@ -0,0 +1,31 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "requestObject": { + "type": "Reference", + "referenceName": "WikiUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApiWiki/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ApiType.json new file mode 100644 index 00000000000..efb64db773a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ApiType.json @@ -0,0 +1,30 @@ +{ + "name": "ApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-BearerTokenSendingMethods.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-BearerTokenSendingMethods.json new file mode 100644 index 00000000000..f42ecfe32b4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-BearerTokenSendingMethods.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethods", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ProductState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ProductState.json new file mode 100644 index 00000000000..e205639ffd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-ProductState.json @@ -0,0 +1,14 @@ +{ + "name": "ProductState", + "type": "String", + "values": [ + { + "key": "NotPublished", + "value": "notPublished" + }, + { + "key": "Published", + "value": "published" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-Protocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-Protocol.json new file mode 100644 index 00000000000..3c4dea1da2d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Constant-Protocol.json @@ -0,0 +1,22 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "HTTPS", + "value": "https" + }, + { + "key": "Ws", + "value": "ws" + }, + { + "key": "Wss", + "value": "wss" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiContactInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiContactInformation.json new file mode 100644 index 00000000000..d6c9e910e4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiContactInformation.json @@ -0,0 +1,44 @@ +{ + "name": "ApiContactInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiLicenseInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiLicenseInformation.json new file mode 100644 index 00000000000..c1d5c9a227a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiLicenseInformation.json @@ -0,0 +1,31 @@ +{ + "name": "ApiLicenseInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiTagResourceContractProperties.json new file mode 100644 index 00000000000..726ace36bee --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ApiTagResourceContractProperties.json @@ -0,0 +1,269 @@ +{ + "name": "ApiTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-AuthenticationSettingsContract.json new file mode 100644 index 00000000000..eff9940699c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-AuthenticationSettingsContract.json @@ -0,0 +1,65 @@ +{ + "name": "AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2", + "name": "OAuth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2AuthenticationSettings", + "name": "OAuth2AuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openid", + "name": "Openid", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidAuthenticationSettings", + "name": "OpenidAuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OAuth2AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OAuth2AuthenticationSettingsContract.json new file mode 100644 index 00000000000..a535d1fc2aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OAuth2AuthenticationSettingsContract.json @@ -0,0 +1,31 @@ +{ + "name": "OAuth2AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationServerId", + "name": "AuthorizationServerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OpenIdAuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OpenIdAuthenticationSettingsContract.json new file mode 100644 index 00000000000..e7f51ef8de5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OpenIdAuthenticationSettingsContract.json @@ -0,0 +1,35 @@ +{ + "name": "OpenIdAuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethods" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidProviderId", + "name": "OpenidProviderId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OperationTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OperationTagResourceContractProperties.json new file mode 100644 index 00000000000..a5035ff0ad3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-OperationTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "OperationTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiName", + "name": "ApiName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlTemplate", + "name": "UrlTemplate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ProductTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ProductTagResourceContractProperties.json new file mode 100644 index 00000000000..a74ee909567 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-ProductTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "ProductTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "approvalRequired", + "name": "ApprovalRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionsLimit", + "name": "SubscriptionsLimit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "terms", + "name": "Terms", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-SubscriptionKeyParameterNamesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-SubscriptionKeyParameterNamesContract.json new file mode 100644 index 00000000000..039a61eafd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-SubscriptionKeyParameterNamesContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeyParameterNamesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagResourceContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagResourceContract.json new file mode 100644 index 00000000000..fe01e7f8413 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagResourceContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagResourceContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "api", + "name": "Api", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operation", + "name": "Operation", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "product", + "name": "Product", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tag", + "name": "Tag", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagTagResourceContractProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagTagResourceContractProperties.json new file mode 100644 index 00000000000..1803cec77bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Model-TagTagResourceContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "TagTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Operation-ApiListByTags.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Operation-ApiListByTags.json new file mode 100644 index 00000000000..0bb5e2b0df9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/Operation-ApiListByTags.json @@ -0,0 +1,58 @@ +{ + "name": "ApiListByTags", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "includeNotTaggedApis", + "required": false, + "field": "IncludeNotTaggedApis", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "TagResourceContract" + }, + "uriSuffix": "/apisByTags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ApisByTag/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-AuthorizationType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-AuthorizationType.json new file mode 100644 index 00000000000..878acc5cd43 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-AuthorizationType.json @@ -0,0 +1,10 @@ +{ + "name": "AuthorizationType", + "type": "String", + "values": [ + { + "key": "OAuthTwo", + "value": "OAuth2" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-OAuth2GrantType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-OAuth2GrantType.json new file mode 100644 index 00000000000..b11ba47882f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Constant-OAuth2GrantType.json @@ -0,0 +1,14 @@ +{ + "name": "OAuth2GrantType", + "type": "String", + "values": [ + { + "key": "AuthorizationCode", + "value": "AuthorizationCode" + }, + { + "key": "ClientCredentials", + "value": "ClientCredentials" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContract.json new file mode 100644 index 00000000000..9e502cc5e52 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContract.json @@ -0,0 +1,57 @@ +{ + "name": "AuthorizationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContractProperties.json new file mode 100644 index 00000000000..b52df07be7a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationContractProperties.json @@ -0,0 +1,74 @@ +{ + "name": "AuthorizationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationType", + "name": "AuthorizationType", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "error", + "name": "Error", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationError" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oauth2grantType", + "name": "Oauth2grantType", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2GrantType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationError.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationError.json new file mode 100644 index 00000000000..417f54c5754 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Model-AuthorizationError.json @@ -0,0 +1,31 @@ +{ + "name": "AuthorizationError", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..d414c10f165 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationId", + "requestObject": { + "type": "Reference", + "referenceName": "AuthorizationContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Delete.json new file mode 100644 index 00000000000..8e9df7670f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Get.json new file mode 100644 index 00000000000..acc4d66b0c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AuthorizationId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/ResourceId-AuthorizationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/ResourceId-AuthorizationId.json new file mode 100644 index 00000000000..b2e829c35cc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorization/ResourceId-AuthorizationId.json @@ -0,0 +1,61 @@ +{ + "name": "AuthorizationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationProviders", + "type": "Static", + "value": "authorizationProviders" + }, + { + "name": "authorizationProviderId", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizations", + "type": "Static", + "value": "authorizations" + }, + { + "name": "authorizationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContract.json new file mode 100644 index 00000000000..d54a7e23f0d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContract.json @@ -0,0 +1,57 @@ +{ + "name": "AuthorizationAccessPolicyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationAccessPolicyContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContractProperties.json new file mode 100644 index 00000000000..0420208712f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Model-AuthorizationAccessPolicyContractProperties.json @@ -0,0 +1,48 @@ +{ + "name": "AuthorizationAccessPolicyContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "appIds", + "name": "AppIds", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "objectId", + "name": "ObjectId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tenantId", + "name": "TenantId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..8af93715c94 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AccessPolicyId", + "requestObject": { + "type": "Reference", + "referenceName": "AuthorizationAccessPolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationAccessPolicyContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Delete.json new file mode 100644 index 00000000000..ddd3a2ee99a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AccessPolicyId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Get.json new file mode 100644 index 00000000000..e7d1bb57da3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AccessPolicyId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationAccessPolicyContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-ListByAuthorization.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-ListByAuthorization.json new file mode 100644 index 00000000000..69b76bc450c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/Operation-ListByAuthorization.json @@ -0,0 +1,48 @@ +{ + "name": "ListByAuthorization", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationAccessPolicyContract" + }, + "uriSuffix": "/accessPolicies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AccessPolicyId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AccessPolicyId.json new file mode 100644 index 00000000000..4aa75798732 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AccessPolicyId.json @@ -0,0 +1,70 @@ +{ + "name": "AccessPolicyId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationProviders", + "type": "Static", + "value": "authorizationProviders" + }, + { + "name": "authorizationProviderId", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizations", + "type": "Static", + "value": "authorizations" + }, + { + "name": "authorizationId", + "type": "UserSpecified" + }, + { + "name": "staticAccessPolicies", + "type": "Static", + "value": "accessPolicies" + }, + { + "name": "authorizationAccessPolicyId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AuthorizationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AuthorizationId.json new file mode 100644 index 00000000000..b2e829c35cc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationAccessPolicy/ResourceId-AuthorizationId.json @@ -0,0 +1,61 @@ +{ + "name": "AuthorizationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationProviders", + "type": "Static", + "value": "authorizationProviders" + }, + { + "name": "authorizationProviderId", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizations", + "type": "Static", + "value": "authorizations" + }, + { + "name": "authorizationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Model-AuthorizationConfirmConsentCodeRequestContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Model-AuthorizationConfirmConsentCodeRequestContract.json new file mode 100644 index 00000000000..10290690159 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Model-AuthorizationConfirmConsentCodeRequestContract.json @@ -0,0 +1,18 @@ +{ + "name": "AuthorizationConfirmConsentCodeRequestContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "consentCode", + "name": "ConsentCode", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Operation-AuthorizationConfirmConsentCode.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Operation-AuthorizationConfirmConsentCode.json new file mode 100644 index 00000000000..736e83859cf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/Operation-AuthorizationConfirmConsentCode.json @@ -0,0 +1,15 @@ +{ + "name": "AuthorizationConfirmConsentCode", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AuthorizationId", + "requestObject": { + "type": "Reference", + "referenceName": "AuthorizationConfirmConsentCodeRequestContract" + }, + "uriSuffix": "/confirmConsentCode" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/ResourceId-AuthorizationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/ResourceId-AuthorizationId.json new file mode 100644 index 00000000000..b2e829c35cc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationConfirmConsentCode/ResourceId-AuthorizationId.json @@ -0,0 +1,61 @@ +{ + "name": "AuthorizationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationProviders", + "type": "Static", + "value": "authorizationProviders" + }, + { + "name": "authorizationProviderId", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizations", + "type": "Static", + "value": "authorizations" + }, + { + "name": "authorizationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginRequestContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginRequestContract.json new file mode 100644 index 00000000000..5031391a305 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginRequestContract.json @@ -0,0 +1,18 @@ +{ + "name": "AuthorizationLoginRequestContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "postLoginRedirectUrl", + "name": "PostLoginRedirectUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginResponseContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginResponseContract.json new file mode 100644 index 00000000000..9b72fa41cc9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Model-AuthorizationLoginResponseContract.json @@ -0,0 +1,18 @@ +{ + "name": "AuthorizationLoginResponseContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loginLink", + "name": "LoginLink", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Operation-Post.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Operation-Post.json new file mode 100644 index 00000000000..c63e841f518 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/Operation-Post.json @@ -0,0 +1,19 @@ +{ + "name": "Post", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AuthorizationId", + "requestObject": { + "type": "Reference", + "referenceName": "AuthorizationLoginRequestContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationLoginResponseContract" + }, + "uriSuffix": "/getLoginLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/ResourceId-AuthorizationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/ResourceId-AuthorizationId.json new file mode 100644 index 00000000000..b2e829c35cc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationLoginLinks/ResourceId-AuthorizationId.json @@ -0,0 +1,61 @@ +{ + "name": "AuthorizationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationProviders", + "type": "Static", + "value": "authorizationProviders" + }, + { + "name": "authorizationProviderId", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizations", + "type": "Static", + "value": "authorizations" + }, + { + "name": "authorizationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContract.json new file mode 100644 index 00000000000..8e0aded683f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContract.json @@ -0,0 +1,57 @@ +{ + "name": "AuthorizationProviderContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationProviderContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContractProperties.json new file mode 100644 index 00000000000..3b76017ad12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "AuthorizationProviderContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identityProvider", + "name": "IdentityProvider", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oauth2", + "name": "Oauth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationProviderOAuth2Settings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2GrantTypes.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2GrantTypes.json new file mode 100644 index 00000000000..f1b935a653a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2GrantTypes.json @@ -0,0 +1,39 @@ +{ + "name": "AuthorizationProviderOAuth2GrantTypes", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationCode", + "name": "AuthorizationCode", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientCredentials", + "name": "ClientCredentials", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2Settings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2Settings.json new file mode 100644 index 00000000000..725ff431ea6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Model-AuthorizationProviderOAuth2Settings.json @@ -0,0 +1,31 @@ +{ + "name": "AuthorizationProviderOAuth2Settings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "grantTypes", + "name": "GrantTypes", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationProviderOAuth2GrantTypes" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "redirectUrl", + "name": "RedirectUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..b2b8332f2b8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationProviderId", + "requestObject": { + "type": "Reference", + "referenceName": "AuthorizationProviderContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Delete.json new file mode 100644 index 00000000000..9cbad8d08a7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationProviderId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Get.json new file mode 100644 index 00000000000..4418554688c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AuthorizationProviderId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-ListByService.json new file mode 100644 index 00000000000..88628d9ae3d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationProviderContract" + }, + "uriSuffix": "/authorizationProviders" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-AuthorizationProviderId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-AuthorizationProviderId.json new file mode 100644 index 00000000000..72b4809330c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-AuthorizationProviderId.json @@ -0,0 +1,52 @@ +{ + "name": "AuthorizationProviderId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationProviders", + "type": "Static", + "value": "authorizationProviders" + }, + { + "name": "authorizationProviderId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationProvider/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-AuthorizationMethod.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-AuthorizationMethod.json new file mode 100644 index 00000000000..4e298e1ff02 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-AuthorizationMethod.json @@ -0,0 +1,38 @@ +{ + "name": "AuthorizationMethod", + "type": "String", + "values": [ + { + "key": "DELETE", + "value": "DELETE" + }, + { + "key": "GET", + "value": "GET" + }, + { + "key": "HEAD", + "value": "HEAD" + }, + { + "key": "OPTIONS", + "value": "OPTIONS" + }, + { + "key": "PATCH", + "value": "PATCH" + }, + { + "key": "POST", + "value": "POST" + }, + { + "key": "PUT", + "value": "PUT" + }, + { + "key": "TRACE", + "value": "TRACE" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-BearerTokenSendingMethod.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-BearerTokenSendingMethod.json new file mode 100644 index 00000000000..4fed9daf61b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-BearerTokenSendingMethod.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethod", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-ClientAuthenticationMethod.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-ClientAuthenticationMethod.json new file mode 100644 index 00000000000..ba3be202dd8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-ClientAuthenticationMethod.json @@ -0,0 +1,14 @@ +{ + "name": "ClientAuthenticationMethod", + "type": "String", + "values": [ + { + "key": "Basic", + "value": "Basic" + }, + { + "key": "Body", + "value": "Body" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-GrantType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-GrantType.json new file mode 100644 index 00000000000..ae5ea415d2e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Constant-GrantType.json @@ -0,0 +1,22 @@ +{ + "name": "GrantType", + "type": "String", + "values": [ + { + "key": "AuthorizationCode", + "value": "authorizationCode" + }, + { + "key": "ClientCredentials", + "value": "clientCredentials" + }, + { + "key": "Implicit", + "value": "implicit" + }, + { + "key": "ResourceOwnerPassword", + "value": "resourceOwnerPassword" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContract.json new file mode 100644 index 00000000000..0d352d65089 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContract.json @@ -0,0 +1,57 @@ +{ + "name": "AuthorizationServerContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationServerContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContractProperties.json new file mode 100644 index 00000000000..24335998d94 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerContractProperties.json @@ -0,0 +1,259 @@ +{ + "name": "AuthorizationServerContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationEndpoint", + "name": "AuthorizationEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationMethods", + "name": "AuthorizationMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "AuthorizationMethod" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethod" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientAuthenticationMethod", + "name": "ClientAuthenticationMethod", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ClientAuthenticationMethod" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientRegistrationEndpoint", + "name": "ClientRegistrationEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultScope", + "name": "DefaultScope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "grantTypes", + "name": "GrantTypes", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GrantType" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceOwnerPassword", + "name": "ResourceOwnerPassword", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceOwnerUsername", + "name": "ResourceOwnerUsername", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "supportState", + "name": "SupportState", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tokenBodyParameters", + "name": "TokenBodyParameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "TokenBodyParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tokenEndpoint", + "name": "TokenEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInApiDocumentation", + "name": "UseInApiDocumentation", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInTestConsole", + "name": "UseInTestConsole", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerSecretsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerSecretsContract.json new file mode 100644 index 00000000000..bd715c09cce --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerSecretsContract.json @@ -0,0 +1,44 @@ +{ + "name": "AuthorizationServerSecretsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceOwnerPassword", + "name": "ResourceOwnerPassword", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceOwnerUsername", + "name": "ResourceOwnerUsername", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContract.json new file mode 100644 index 00000000000..d6a01d6a6a3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContract.json @@ -0,0 +1,57 @@ +{ + "name": "AuthorizationServerUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationServerUpdateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContractProperties.json new file mode 100644 index 00000000000..fedb3e52b72 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-AuthorizationServerUpdateContractProperties.json @@ -0,0 +1,259 @@ +{ + "name": "AuthorizationServerUpdateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationEndpoint", + "name": "AuthorizationEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationMethods", + "name": "AuthorizationMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "AuthorizationMethod" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethod" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientAuthenticationMethod", + "name": "ClientAuthenticationMethod", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ClientAuthenticationMethod" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientRegistrationEndpoint", + "name": "ClientRegistrationEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultScope", + "name": "DefaultScope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "grantTypes", + "name": "GrantTypes", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GrantType" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceOwnerPassword", + "name": "ResourceOwnerPassword", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceOwnerUsername", + "name": "ResourceOwnerUsername", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "supportState", + "name": "SupportState", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tokenBodyParameters", + "name": "TokenBodyParameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "TokenBodyParameterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tokenEndpoint", + "name": "TokenEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInApiDocumentation", + "name": "UseInApiDocumentation", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInTestConsole", + "name": "UseInTestConsole", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-TokenBodyParameterContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-TokenBodyParameterContract.json new file mode 100644 index 00000000000..0ea2a964572 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Model-TokenBodyParameterContract.json @@ -0,0 +1,31 @@ +{ + "name": "TokenBodyParameterContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..11ee75ae197 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationServerId", + "requestObject": { + "type": "Reference", + "referenceName": "AuthorizationServerContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationServerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Delete.json new file mode 100644 index 00000000000..04d033c562f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationServerId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Get.json new file mode 100644 index 00000000000..267c1f964a6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AuthorizationServerId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationServerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-GetEntityTag.json new file mode 100644 index 00000000000..5a247f6cc35 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "AuthorizationServerId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListByService.json new file mode 100644 index 00000000000..2ffdc4f32b6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationServerContract" + }, + "uriSuffix": "/authorizationServers" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListSecrets.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListSecrets.json new file mode 100644 index 00000000000..df323396ec9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-ListSecrets.json @@ -0,0 +1,15 @@ +{ + "name": "ListSecrets", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AuthorizationServerId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationServerSecretsContract" + }, + "uriSuffix": "/listSecrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Update.json new file mode 100644 index 00000000000..53a5b64273c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationServerId", + "requestObject": { + "type": "Reference", + "referenceName": "AuthorizationServerUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationServerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-AuthorizationServerId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-AuthorizationServerId.json new file mode 100644 index 00000000000..353a6882022 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-AuthorizationServerId.json @@ -0,0 +1,52 @@ +{ + "name": "AuthorizationServerId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authorizationServerName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationServers", + "type": "Static", + "value": "authorizationServers" + }, + { + "name": "authorizationServerName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/AuthorizationServer/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-AuthorizationType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-AuthorizationType.json new file mode 100644 index 00000000000..878acc5cd43 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-AuthorizationType.json @@ -0,0 +1,10 @@ +{ + "name": "AuthorizationType", + "type": "String", + "values": [ + { + "key": "OAuthTwo", + "value": "OAuth2" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-OAuth2GrantType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-OAuth2GrantType.json new file mode 100644 index 00000000000..b11ba47882f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Constant-OAuth2GrantType.json @@ -0,0 +1,14 @@ +{ + "name": "OAuth2GrantType", + "type": "String", + "values": [ + { + "key": "AuthorizationCode", + "value": "AuthorizationCode" + }, + { + "key": "ClientCredentials", + "value": "ClientCredentials" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContract.json new file mode 100644 index 00000000000..9e502cc5e52 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContract.json @@ -0,0 +1,57 @@ +{ + "name": "AuthorizationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContractProperties.json new file mode 100644 index 00000000000..b52df07be7a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationContractProperties.json @@ -0,0 +1,74 @@ +{ + "name": "AuthorizationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationType", + "name": "AuthorizationType", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "error", + "name": "Error", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthorizationError" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oauth2grantType", + "name": "Oauth2grantType", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2GrantType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationError.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationError.json new file mode 100644 index 00000000000..417f54c5754 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Model-AuthorizationError.json @@ -0,0 +1,31 @@ +{ + "name": "AuthorizationError", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Operation-AuthorizationListByAuthorizationProvider.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Operation-AuthorizationListByAuthorizationProvider.json new file mode 100644 index 00000000000..e29194cd004 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/Operation-AuthorizationListByAuthorizationProvider.json @@ -0,0 +1,48 @@ +{ + "name": "AuthorizationListByAuthorizationProvider", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "AuthorizationProviderId", + "responseObject": { + "type": "Reference", + "referenceName": "AuthorizationContract" + }, + "uriSuffix": "/authorizations" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/ResourceId-AuthorizationProviderId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/ResourceId-AuthorizationProviderId.json new file mode 100644 index 00000000000..72b4809330c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Authorizations/ResourceId-AuthorizationProviderId.json @@ -0,0 +1,52 @@ +{ + "name": "AuthorizationProviderId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticAuthorizationProviders", + "type": "Static", + "value": "authorizationProviders" + }, + { + "name": "authorizationProviderId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendProtocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendProtocol.json new file mode 100644 index 00000000000..03108dee7d8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendProtocol.json @@ -0,0 +1,14 @@ +{ + "name": "BackendProtocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Soap", + "value": "soap" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendType.json new file mode 100644 index 00000000000..dde358cd89a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Constant-BackendType.json @@ -0,0 +1,14 @@ +{ + "name": "BackendType", + "type": "String", + "values": [ + { + "key": "Pool", + "value": "Pool" + }, + { + "key": "Single", + "value": "Single" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendAuthorizationHeaderCredentials.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendAuthorizationHeaderCredentials.json new file mode 100644 index 00000000000..261e5a359e8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendAuthorizationHeaderCredentials.json @@ -0,0 +1,31 @@ +{ + "name": "BackendAuthorizationHeaderCredentials", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameter", + "name": "Parameter", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scheme", + "name": "Scheme", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendBaseParametersPool.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendBaseParametersPool.json new file mode 100644 index 00000000000..671e60eba8b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendBaseParametersPool.json @@ -0,0 +1,22 @@ +{ + "name": "BackendBaseParametersPool", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "services", + "name": "Services", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BackendPoolItem" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCircuitBreaker.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCircuitBreaker.json new file mode 100644 index 00000000000..4c9c799c071 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCircuitBreaker.json @@ -0,0 +1,22 @@ +{ + "name": "BackendCircuitBreaker", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rules", + "name": "Rules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "CircuitBreakerRule" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContract.json new file mode 100644 index 00000000000..054f4a0002c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContract.json @@ -0,0 +1,57 @@ +{ + "name": "BackendContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContractProperties.json new file mode 100644 index 00000000000..4b809b451f8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendContractProperties.json @@ -0,0 +1,161 @@ +{ + "name": "BackendContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "circuitBreaker", + "name": "CircuitBreaker", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendCircuitBreaker" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "credentials", + "name": "Credentials", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendCredentialsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "pool", + "name": "Pool", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendBaseParametersPool" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocol", + "name": "Protocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendProtocol" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "proxy", + "name": "Proxy", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendProxyContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceId", + "name": "ResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tls", + "name": "Tls", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendTlsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCredentialsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCredentialsContract.json new file mode 100644 index 00000000000..6ab2d84b8db --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendCredentialsContract.json @@ -0,0 +1,94 @@ +{ + "name": "BackendCredentialsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorization", + "name": "Authorization", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendAuthorizationHeaderCredentials" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificate", + "name": "Certificate", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateIds", + "name": "CertificateIds", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendPoolItem.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendPoolItem.json new file mode 100644 index 00000000000..c46a6e9b795 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendPoolItem.json @@ -0,0 +1,44 @@ +{ + "name": "BackendPoolItem", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "weight", + "name": "Weight", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProperties.json new file mode 100644 index 00000000000..874b6d8aab9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProperties.json @@ -0,0 +1,18 @@ +{ + "name": "BackendProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceFabricCluster", + "name": "ServiceFabricCluster", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendServiceFabricClusterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProxyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProxyContract.json new file mode 100644 index 00000000000..62bc84864b3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendProxyContract.json @@ -0,0 +1,44 @@ +{ + "name": "BackendProxyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "password", + "name": "Password", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "username", + "name": "Username", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendServiceFabricClusterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendServiceFabricClusterProperties.json new file mode 100644 index 00000000000..ab47b8c2eb3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendServiceFabricClusterProperties.json @@ -0,0 +1,95 @@ +{ + "name": "BackendServiceFabricClusterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientCertificateId", + "name": "ClientCertificateId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientCertificatethumbprint", + "name": "ClientCertificatethumbprint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "managementEndpoints", + "name": "ManagementEndpoints", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maxPartitionResolutionRetries", + "name": "MaxPartitionResolutionRetries", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serverCertificateThumbprints", + "name": "ServerCertificateThumbprints", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serverX509Names", + "name": "ServerX509Names", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "X509CertificateName" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendTlsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendTlsProperties.json new file mode 100644 index 00000000000..974cd90565a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendTlsProperties.json @@ -0,0 +1,31 @@ +{ + "name": "BackendTlsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validateCertificateChain", + "name": "ValidateCertificateChain", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validateCertificateName", + "name": "ValidateCertificateName", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameterProperties.json new file mode 100644 index 00000000000..a0f906ca73c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameterProperties.json @@ -0,0 +1,161 @@ +{ + "name": "BackendUpdateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "circuitBreaker", + "name": "CircuitBreaker", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendCircuitBreaker" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "credentials", + "name": "Credentials", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendCredentialsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "pool", + "name": "Pool", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendBaseParametersPool" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocol", + "name": "Protocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "proxy", + "name": "Proxy", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendProxyContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceId", + "name": "ResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tls", + "name": "Tls", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendTlsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameters.json new file mode 100644 index 00000000000..326de558546 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-BackendUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "BackendUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendUpdateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerFailureCondition.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerFailureCondition.json new file mode 100644 index 00000000000..a1332f345fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerFailureCondition.json @@ -0,0 +1,78 @@ +{ + "name": "CircuitBreakerFailureCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "count", + "name": "Count", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "errorReasons", + "name": "ErrorReasons", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "interval", + "name": "Interval", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "percentage", + "name": "Percentage", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "statusCodeRanges", + "name": "StatusCodeRanges", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "FailureStatusCodeRange" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerRule.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerRule.json new file mode 100644 index 00000000000..37860cf5ba7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-CircuitBreakerRule.json @@ -0,0 +1,57 @@ +{ + "name": "CircuitBreakerRule", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "acceptRetryAfter", + "name": "AcceptRetryAfter", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "failureCondition", + "name": "FailureCondition", + "objectDefinition": { + "type": "Reference", + "referenceName": "CircuitBreakerFailureCondition" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tripDuration", + "name": "TripDuration", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-FailureStatusCodeRange.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-FailureStatusCodeRange.json new file mode 100644 index 00000000000..d130435e4ec --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-FailureStatusCodeRange.json @@ -0,0 +1,31 @@ +{ + "name": "FailureStatusCodeRange", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "max", + "name": "Max", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "min", + "name": "Min", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-X509CertificateName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-X509CertificateName.json new file mode 100644 index 00000000000..f7d95929a2b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Model-X509CertificateName.json @@ -0,0 +1,31 @@ +{ + "name": "X509CertificateName", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "issuerCertificateThumbprint", + "name": "IssuerCertificateThumbprint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..3df19cf4a20 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "BackendId", + "requestObject": { + "type": "Reference", + "referenceName": "BackendContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Delete.json new file mode 100644 index 00000000000..fb0711e1003 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "BackendId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Get.json new file mode 100644 index 00000000000..8c425a2c0df --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "BackendId", + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-GetEntityTag.json new file mode 100644 index 00000000000..13ba4115b6c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "BackendId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-ListByService.json new file mode 100644 index 00000000000..ad062cc40ec --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + }, + "uriSuffix": "/backends" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Update.json new file mode 100644 index 00000000000..1c07763347c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "BackendId", + "requestObject": { + "type": "Reference", + "referenceName": "BackendUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendCreateOrUpdate.json new file mode 100644 index 00000000000..ee9d7335792 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceBackendCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceBackendId", + "requestObject": { + "type": "Reference", + "referenceName": "BackendContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendDelete.json new file mode 100644 index 00000000000..e7b701a3d68 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceBackendDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceBackendId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGet.json new file mode 100644 index 00000000000..b8a1524deb9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceBackendGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceBackendId", + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGetEntityTag.json new file mode 100644 index 00000000000..747f3d59a0e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceBackendGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceBackendId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendListByWorkspace.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendListByWorkspace.json new file mode 100644 index 00000000000..781e6bb3a49 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendListByWorkspace.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceBackendListByWorkspace", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + }, + "uriSuffix": "/backends" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendUpdate.json new file mode 100644 index 00000000000..4fa7732af6d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/Operation-WorkspaceBackendUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceBackendUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceBackendId", + "requestObject": { + "type": "Reference", + "referenceName": "BackendUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "BackendContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-BackendId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-BackendId.json new file mode 100644 index 00000000000..5a16a516b0c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-BackendId.json @@ -0,0 +1,52 @@ +{ + "name": "BackendId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticBackends", + "type": "Static", + "value": "backends" + }, + { + "name": "backendId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceBackendId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceBackendId.json new file mode 100644 index 00000000000..877c265ee89 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceBackendId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceBackendId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/backends/{backendId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticBackends", + "type": "Static", + "value": "backends" + }, + { + "name": "backendId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Backend/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectContract.json new file mode 100644 index 00000000000..e0deb755769 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectContract.json @@ -0,0 +1,57 @@ +{ + "name": "BackendReconnectContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackendReconnectProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectProperties.json new file mode 100644 index 00000000000..b5ca5cd6b01 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Model-BackendReconnectProperties.json @@ -0,0 +1,18 @@ +{ + "name": "BackendReconnectProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "after", + "name": "After", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Operation-BackendReconnect.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Operation-BackendReconnect.json new file mode 100644 index 00000000000..4d462e493d1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/Operation-BackendReconnect.json @@ -0,0 +1,15 @@ +{ + "name": "BackendReconnect", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "BackendId", + "requestObject": { + "type": "Reference", + "referenceName": "BackendReconnectContract" + }, + "uriSuffix": "/reconnect" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/ResourceId-BackendId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/ResourceId-BackendId.json new file mode 100644 index 00000000000..5a16a516b0c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/BackendReconnect/ResourceId-BackendId.json @@ -0,0 +1,52 @@ +{ + "name": "BackendId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticBackends", + "type": "Static", + "value": "backends" + }, + { + "name": "backendId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContract.json new file mode 100644 index 00000000000..23dea7f01f7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContract.json @@ -0,0 +1,57 @@ +{ + "name": "CacheContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContractProperties.json new file mode 100644 index 00000000000..446f21ebc68 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheContractProperties.json @@ -0,0 +1,57 @@ +{ + "name": "CacheContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectionString", + "name": "ConnectionString", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceId", + "name": "ResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useFromLocation", + "name": "UseFromLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateParameters.json new file mode 100644 index 00000000000..1edcaef194e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "CacheUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateProperties.json new file mode 100644 index 00000000000..49b87289066 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Model-CacheUpdateProperties.json @@ -0,0 +1,57 @@ +{ + "name": "CacheUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectionString", + "name": "ConnectionString", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceId", + "name": "ResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useFromLocation", + "name": "UseFromLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..a8483001bf7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CacheId", + "requestObject": { + "type": "Reference", + "referenceName": "CacheContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CacheContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Delete.json new file mode 100644 index 00000000000..2865710b13f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CacheId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Get.json new file mode 100644 index 00000000000..d895ae80673 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CacheId", + "responseObject": { + "type": "Reference", + "referenceName": "CacheContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-GetEntityTag.json new file mode 100644 index 00000000000..ce99835968e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "CacheId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-ListByService.json new file mode 100644 index 00000000000..fecfddd80fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-ListByService.json @@ -0,0 +1,38 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "CacheContract" + }, + "uriSuffix": "/caches" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Update.json new file mode 100644 index 00000000000..4a463f42b74 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CacheId", + "requestObject": { + "type": "Reference", + "referenceName": "CacheUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CacheContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-CacheId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-CacheId.json new file mode 100644 index 00000000000..07e68cc80e0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-CacheId.json @@ -0,0 +1,52 @@ +{ + "name": "CacheId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/caches/{cacheId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticCaches", + "type": "Static", + "value": "caches" + }, + { + "name": "cacheId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Cache/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContract.json new file mode 100644 index 00000000000..f5daccc27ff --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContract.json @@ -0,0 +1,57 @@ +{ + "name": "CertificateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContractProperties.json new file mode 100644 index 00000000000..8845054d37a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateContractProperties.json @@ -0,0 +1,58 @@ +{ + "name": "CertificateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVault", + "name": "KeyVault", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "thumbprint", + "name": "Thumbprint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateParameters.json new file mode 100644 index 00000000000..c8247930e2e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "CertificateCreateOrUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateCreateOrUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateProperties.json new file mode 100644 index 00000000000..ca42ae58833 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-CertificateCreateOrUpdateProperties.json @@ -0,0 +1,44 @@ +{ + "name": "CertificateCreateOrUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVault", + "name": "KeyVault", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultContractCreateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "password", + "name": "Password", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractCreateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractCreateProperties.json new file mode 100644 index 00000000000..49b98ec9923 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractCreateProperties.json @@ -0,0 +1,31 @@ +{ + "name": "KeyVaultContractCreateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identityClientId", + "name": "IdentityClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretIdentifier", + "name": "SecretIdentifier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractProperties.json new file mode 100644 index 00000000000..7a6739ea991 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "KeyVaultContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identityClientId", + "name": "IdentityClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "lastStatus", + "name": "LastStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultLastAccessStatusContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretIdentifier", + "name": "SecretIdentifier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultLastAccessStatusContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultLastAccessStatusContractProperties.json new file mode 100644 index 00000000000..6edff4657be --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Model-KeyVaultLastAccessStatusContractProperties.json @@ -0,0 +1,45 @@ +{ + "name": "KeyVaultLastAccessStatusContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "timeStampUtc", + "name": "TimeStampUtc", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..831c6b05e12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CertificateId", + "requestObject": { + "type": "Reference", + "referenceName": "CertificateCreateOrUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Delete.json new file mode 100644 index 00000000000..7a3389c8a70 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CertificateId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Get.json new file mode 100644 index 00000000000..88ed33e2678 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CertificateId", + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-GetEntityTag.json new file mode 100644 index 00000000000..cf84aac1a77 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "CertificateId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-ListByService.json new file mode 100644 index 00000000000..d7f995e7de6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-ListByService.json @@ -0,0 +1,58 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "isKeyVaultRefreshFailed", + "required": false, + "field": "IsKeyVaultRefreshFailed", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + }, + "uriSuffix": "/certificates" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-RefreshSecret.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-RefreshSecret.json new file mode 100644 index 00000000000..6642a1ff9f4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-RefreshSecret.json @@ -0,0 +1,15 @@ +{ + "name": "RefreshSecret", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "CertificateId", + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + }, + "uriSuffix": "/refreshSecret" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateCreateOrUpdate.json new file mode 100644 index 00000000000..4efe7bc75b5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceCertificateCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceCertificateId", + "requestObject": { + "type": "Reference", + "referenceName": "CertificateCreateOrUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateDelete.json new file mode 100644 index 00000000000..08450f1c536 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceCertificateDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceCertificateId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGet.json new file mode 100644 index 00000000000..6d614892adb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceCertificateGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceCertificateId", + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGetEntityTag.json new file mode 100644 index 00000000000..242d1ba468d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceCertificateGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceCertificateId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateListByWorkspace.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateListByWorkspace.json new file mode 100644 index 00000000000..44ccf84c6fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateListByWorkspace.json @@ -0,0 +1,58 @@ +{ + "name": "WorkspaceCertificateListByWorkspace", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "isKeyVaultRefreshFailed", + "required": false, + "field": "IsKeyVaultRefreshFailed", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + }, + "uriSuffix": "/certificates" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateRefreshSecret.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateRefreshSecret.json new file mode 100644 index 00000000000..d289ceffd55 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/Operation-WorkspaceCertificateRefreshSecret.json @@ -0,0 +1,15 @@ +{ + "name": "WorkspaceCertificateRefreshSecret", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "WorkspaceCertificateId", + "responseObject": { + "type": "Reference", + "referenceName": "CertificateContract" + }, + "uriSuffix": "/refreshSecret" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-CertificateId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-CertificateId.json new file mode 100644 index 00000000000..f1adf9e3a45 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-CertificateId.json @@ -0,0 +1,52 @@ +{ + "name": "CertificateId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticCertificates", + "type": "Static", + "value": "certificates" + }, + { + "name": "certificateId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceCertificateId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceCertificateId.json new file mode 100644 index 00000000000..b78711bd2d4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceCertificateId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceCertificateId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/certificates/{certificateId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticCertificates", + "type": "Static", + "value": "certificates" + }, + { + "name": "certificateId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Certificate/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContract.json new file mode 100644 index 00000000000..0b97523a1ab --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContract.json @@ -0,0 +1,57 @@ +{ + "name": "ContentTypeContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ContentTypeContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContractProperties.json new file mode 100644 index 00000000000..1185d73da28 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Model-ContentTypeContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "ContentTypeContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "schema", + "name": "Schema", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "version", + "name": "Version", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..8d2bc9c6446 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ContentTypeId", + "requestObject": { + "type": "Reference", + "referenceName": "ContentTypeContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ContentTypeContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Delete.json new file mode 100644 index 00000000000..2876cb528f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ContentTypeId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Get.json new file mode 100644 index 00000000000..2067b004529 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ContentTypeId", + "responseObject": { + "type": "Reference", + "referenceName": "ContentTypeContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-ListByService.json new file mode 100644 index 00000000000..444884fee0a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ContentTypeContract" + }, + "uriSuffix": "/contentTypes" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ContentTypeId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ContentTypeId.json new file mode 100644 index 00000000000..c86e424d7d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ContentTypeId.json @@ -0,0 +1,52 @@ +{ + "name": "ContentTypeId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticContentTypes", + "type": "Static", + "value": "contentTypes" + }, + { + "name": "contentTypeId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentType/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Model-ContentItemContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Model-ContentItemContract.json new file mode 100644 index 00000000000..9e67e47582e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Model-ContentItemContract.json @@ -0,0 +1,57 @@ +{ + "name": "ContentItemContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemCreateOrUpdate.json new file mode 100644 index 00000000000..73e26f023b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "ContentItemCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ContentItemId", + "requestObject": { + "type": "Reference", + "referenceName": "ContentItemContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ContentItemContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemDelete.json new file mode 100644 index 00000000000..279aef72c00 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemDelete.json @@ -0,0 +1,23 @@ +{ + "name": "ContentItemDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ContentItemId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGet.json new file mode 100644 index 00000000000..7a11beb4289 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGet.json @@ -0,0 +1,14 @@ +{ + "name": "ContentItemGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ContentItemId", + "responseObject": { + "type": "Reference", + "referenceName": "ContentItemContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGetEntityTag.json new file mode 100644 index 00000000000..a688db3563e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "ContentItemGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ContentItemId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemListByService.json new file mode 100644 index 00000000000..63733e51d7a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/Operation-ContentItemListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ContentItemListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ContentTypeId", + "responseObject": { + "type": "Reference", + "referenceName": "ContentItemContract" + }, + "uriSuffix": "/contentItems" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentItemId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentItemId.json new file mode 100644 index 00000000000..d3562c28463 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentItemId.json @@ -0,0 +1,61 @@ +{ + "name": "ContentItemId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticContentTypes", + "type": "Static", + "value": "contentTypes" + }, + { + "name": "contentTypeId", + "type": "UserSpecified" + }, + { + "name": "staticContentItems", + "type": "Static", + "value": "contentItems" + }, + { + "name": "contentItemId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentTypeId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentTypeId.json new file mode 100644 index 00000000000..c86e424d7d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ContentTypeContentItem/ResourceId-ContentTypeId.json @@ -0,0 +1,52 @@ +{ + "name": "ContentTypeId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticContentTypes", + "type": "Static", + "value": "contentTypes" + }, + { + "name": "contentTypeId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettings.json new file mode 100644 index 00000000000..0d938a210f2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettings.json @@ -0,0 +1,57 @@ +{ + "name": "PortalDelegationSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalDelegationSettingsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettingsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettingsProperties.json new file mode 100644 index 00000000000..c8b147e9210 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalDelegationSettingsProperties.json @@ -0,0 +1,57 @@ +{ + "name": "PortalDelegationSettingsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptions", + "name": "Subscriptions", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionsDelegationSettingsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userRegistration", + "name": "UserRegistration", + "objectDefinition": { + "type": "Reference", + "referenceName": "RegistrationDelegationSettingsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationKey", + "name": "ValidationKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalSettingValidationKeyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalSettingValidationKeyContract.json new file mode 100644 index 00000000000..43c9f0dd560 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-PortalSettingValidationKeyContract.json @@ -0,0 +1,18 @@ +{ + "name": "PortalSettingValidationKeyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationKey", + "name": "ValidationKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-RegistrationDelegationSettingsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-RegistrationDelegationSettingsProperties.json new file mode 100644 index 00000000000..383ee1c1718 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-RegistrationDelegationSettingsProperties.json @@ -0,0 +1,18 @@ +{ + "name": "RegistrationDelegationSettingsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-SubscriptionsDelegationSettingsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-SubscriptionsDelegationSettingsProperties.json new file mode 100644 index 00000000000..26191a32970 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Model-SubscriptionsDelegationSettingsProperties.json @@ -0,0 +1,18 @@ +{ + "name": "SubscriptionsDelegationSettingsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..cc95b877324 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalDelegationSettings" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PortalDelegationSettings" + }, + "uriSuffix": "/portalsettings/delegation" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Get.json new file mode 100644 index 00000000000..9fb4732a3aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Get.json @@ -0,0 +1,15 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalDelegationSettings" + }, + "uriSuffix": "/portalsettings/delegation" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-GetEntityTag.json new file mode 100644 index 00000000000..ad8d7c7eacb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ServiceId", + "uriSuffix": "/portalsettings/delegation" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-ListSecrets.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-ListSecrets.json new file mode 100644 index 00000000000..dc3cc71aa2a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-ListSecrets.json @@ -0,0 +1,15 @@ +{ + "name": "ListSecrets", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalSettingValidationKeyContract" + }, + "uriSuffix": "/portalsettings/delegation/listSecrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Update.json new file mode 100644 index 00000000000..85b62389cbd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/Operation-Update.json @@ -0,0 +1,27 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalDelegationSettings" + }, + "uriSuffix": "/portalsettings/delegation" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DelegationSettings/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContract.json new file mode 100644 index 00000000000..e0158517374 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContract.json @@ -0,0 +1,70 @@ +{ + "name": "DeletedServiceContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeletedServiceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContractProperties.json new file mode 100644 index 00000000000..ee31d5e589c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Model-DeletedServiceContractProperties.json @@ -0,0 +1,46 @@ +{ + "name": "DeletedServiceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "deletionDate", + "name": "DeletionDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "scheduledPurgeDate", + "name": "ScheduledPurgeDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceId", + "name": "ServiceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-GetByName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-GetByName.json new file mode 100644 index 00000000000..f15ffde325e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-GetByName.json @@ -0,0 +1,14 @@ +{ + "name": "GetByName", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "DeletedServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "DeletedServiceContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-ListBySubscription.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-ListBySubscription.json new file mode 100644 index 00000000000..80c0ca2cc59 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-ListBySubscription.json @@ -0,0 +1,16 @@ +{ + "name": "ListBySubscription", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "DeletedServiceContract" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/deletedServices" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-Purge.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-Purge.json new file mode 100644 index 00000000000..2ed0c1a4998 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/Operation-Purge.json @@ -0,0 +1,16 @@ +{ + "name": "Purge", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "DeletedServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "DeletedServiceContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-DeletedServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-DeletedServiceId.json new file mode 100644 index 00000000000..af11bc09a5e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-DeletedServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "DeletedServiceId", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{locationName}/deletedServices/{deletedServiceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticLocations", + "type": "Static", + "value": "locations" + }, + { + "name": "locationName", + "type": "UserSpecified" + }, + { + "name": "staticDeletedServices", + "type": "Static", + "value": "deletedServices" + }, + { + "name": "deletedServiceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DeletedService/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-AlwaysLog.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-AlwaysLog.json new file mode 100644 index 00000000000..cadf357b5fc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-AlwaysLog.json @@ -0,0 +1,10 @@ +{ + "name": "AlwaysLog", + "type": "String", + "values": [ + { + "key": "AllErrors", + "value": "allErrors" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-DataMaskingMode.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-DataMaskingMode.json new file mode 100644 index 00000000000..d3035af9a29 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-DataMaskingMode.json @@ -0,0 +1,14 @@ +{ + "name": "DataMaskingMode", + "type": "String", + "values": [ + { + "key": "Hide", + "value": "Hide" + }, + { + "key": "Mask", + "value": "Mask" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-HTTPCorrelationProtocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-HTTPCorrelationProtocol.json new file mode 100644 index 00000000000..3f97297c6d4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-HTTPCorrelationProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "HTTPCorrelationProtocol", + "type": "String", + "values": [ + { + "key": "Legacy", + "value": "Legacy" + }, + { + "key": "None", + "value": "None" + }, + { + "key": "WThreeC", + "value": "W3C" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-OperationNameFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-OperationNameFormat.json new file mode 100644 index 00000000000..019a2a346cb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-OperationNameFormat.json @@ -0,0 +1,14 @@ +{ + "name": "OperationNameFormat", + "type": "String", + "values": [ + { + "key": "Name", + "value": "Name" + }, + { + "key": "Url", + "value": "Url" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-SamplingType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-SamplingType.json new file mode 100644 index 00000000000..4c6daa828e3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-SamplingType.json @@ -0,0 +1,10 @@ +{ + "name": "SamplingType", + "type": "String", + "values": [ + { + "key": "Fixed", + "value": "fixed" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-Verbosity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-Verbosity.json new file mode 100644 index 00000000000..2067b5819de --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Constant-Verbosity.json @@ -0,0 +1,18 @@ +{ + "name": "Verbosity", + "type": "String", + "values": [ + { + "key": "Error", + "value": "error" + }, + { + "key": "Information", + "value": "information" + }, + { + "key": "Verbose", + "value": "verbose" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-BodyDiagnosticSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-BodyDiagnosticSettings.json new file mode 100644 index 00000000000..538588046af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-BodyDiagnosticSettings.json @@ -0,0 +1,18 @@ +{ + "name": "BodyDiagnosticSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bytes", + "name": "Bytes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMasking.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMasking.json new file mode 100644 index 00000000000..de0aad996f8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMasking.json @@ -0,0 +1,39 @@ +{ + "name": "DataMasking", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headers", + "name": "Headers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DataMaskingEntity" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParams", + "name": "QueryParams", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DataMaskingEntity" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMaskingEntity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMaskingEntity.json new file mode 100644 index 00000000000..695d2172ea6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DataMaskingEntity.json @@ -0,0 +1,31 @@ +{ + "name": "DataMaskingEntity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "mode", + "name": "Mode", + "objectDefinition": { + "type": "Reference", + "referenceName": "DataMaskingMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContract.json new file mode 100644 index 00000000000..0aa396fab40 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContract.json @@ -0,0 +1,57 @@ +{ + "name": "DiagnosticContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DiagnosticContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractProperties.json new file mode 100644 index 00000000000..74e817e9386 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractProperties.json @@ -0,0 +1,135 @@ +{ + "name": "DiagnosticContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "alwaysLog", + "name": "AlwaysLog", + "objectDefinition": { + "type": "Reference", + "referenceName": "AlwaysLog" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backend", + "name": "Backend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontend", + "name": "Frontend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpCorrelationProtocol", + "name": "HTTPCorrelationProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPCorrelationProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logClientIp", + "name": "LogClientIP", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loggerId", + "name": "LoggerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metrics", + "name": "Metrics", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operationNameFormat", + "name": "OperationNameFormat", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationNameFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sampling", + "name": "Sampling", + "objectDefinition": { + "type": "Reference", + "referenceName": "SamplingSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "verbosity", + "name": "Verbosity", + "objectDefinition": { + "type": "Reference", + "referenceName": "Verbosity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractUpdateProperties.json new file mode 100644 index 00000000000..5509f4df6c1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticContractUpdateProperties.json @@ -0,0 +1,135 @@ +{ + "name": "DiagnosticContractUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "alwaysLog", + "name": "AlwaysLog", + "objectDefinition": { + "type": "Reference", + "referenceName": "AlwaysLog" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backend", + "name": "Backend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontend", + "name": "Frontend", + "objectDefinition": { + "type": "Reference", + "referenceName": "PipelineDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpCorrelationProtocol", + "name": "HTTPCorrelationProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPCorrelationProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logClientIp", + "name": "LogClientIP", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loggerId", + "name": "LoggerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metrics", + "name": "Metrics", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operationNameFormat", + "name": "OperationNameFormat", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationNameFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sampling", + "name": "Sampling", + "objectDefinition": { + "type": "Reference", + "referenceName": "SamplingSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "verbosity", + "name": "Verbosity", + "objectDefinition": { + "type": "Reference", + "referenceName": "Verbosity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticUpdateContract.json new file mode 100644 index 00000000000..5d885ec8e56 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-DiagnosticUpdateContract.json @@ -0,0 +1,57 @@ +{ + "name": "DiagnosticUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DiagnosticContractUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-HTTPMessageDiagnostic.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-HTTPMessageDiagnostic.json new file mode 100644 index 00000000000..6eb63c9680e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-HTTPMessageDiagnostic.json @@ -0,0 +1,48 @@ +{ + "name": "HTTPMessageDiagnostic", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "body", + "name": "Body", + "objectDefinition": { + "type": "Reference", + "referenceName": "BodyDiagnosticSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "dataMasking", + "name": "DataMasking", + "objectDefinition": { + "type": "Reference", + "referenceName": "DataMasking" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headers", + "name": "Headers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-PipelineDiagnosticSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-PipelineDiagnosticSettings.json new file mode 100644 index 00000000000..399f542c14d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-PipelineDiagnosticSettings.json @@ -0,0 +1,31 @@ +{ + "name": "PipelineDiagnosticSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "request", + "name": "Request", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPMessageDiagnostic" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "response", + "name": "Response", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPMessageDiagnostic" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-SamplingSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-SamplingSettings.json new file mode 100644 index 00000000000..41a5dc60b6f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Model-SamplingSettings.json @@ -0,0 +1,31 @@ +{ + "name": "SamplingSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "percentage", + "name": "Percentage", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "samplingType", + "name": "SamplingType", + "objectDefinition": { + "type": "Reference", + "referenceName": "SamplingType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..737d3cbf3e5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "DiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Delete.json new file mode 100644 index 00000000000..14d37ad5202 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "DiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Get.json new file mode 100644 index 00000000000..a21e0ad568e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "DiagnosticId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-GetEntityTag.json new file mode 100644 index 00000000000..07424be32a2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "DiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-ListByService.json new file mode 100644 index 00000000000..33748c069fa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "uriSuffix": "/diagnostics" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Update.json new file mode 100644 index 00000000000..6d9888ed8fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "DiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticCreateOrUpdate.json new file mode 100644 index 00000000000..f8519a5c5af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceDiagnosticCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceDiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticDelete.json new file mode 100644 index 00000000000..da4af6cb7ad --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceDiagnosticDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceDiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGet.json new file mode 100644 index 00000000000..386115dae81 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceDiagnosticGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceDiagnosticId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGetEntityTag.json new file mode 100644 index 00000000000..f0a6937dda8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceDiagnosticGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceDiagnosticId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticListByWorkspace.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticListByWorkspace.json new file mode 100644 index 00000000000..43e60a81cfb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticListByWorkspace.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceDiagnosticListByWorkspace", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + }, + "uriSuffix": "/diagnostics" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticUpdate.json new file mode 100644 index 00000000000..d87fa272ac8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/Operation-WorkspaceDiagnosticUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceDiagnosticUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceDiagnosticId", + "requestObject": { + "type": "Reference", + "referenceName": "DiagnosticUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DiagnosticContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-DiagnosticId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-DiagnosticId.json new file mode 100644 index 00000000000..759efdae432 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-DiagnosticId.json @@ -0,0 +1,52 @@ +{ + "name": "DiagnosticId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticDiagnostics", + "type": "Static", + "value": "diagnostics" + }, + { + "name": "diagnosticId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceDiagnosticId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceDiagnosticId.json new file mode 100644 index 00000000000..45c123f5287 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceDiagnosticId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceDiagnosticId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/diagnostics/{diagnosticId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticDiagnostics", + "type": "Static", + "value": "diagnostics" + }, + { + "name": "diagnosticId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Diagnostic/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContract.json new file mode 100644 index 00000000000..0e632709af3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContract.json @@ -0,0 +1,57 @@ +{ + "name": "DocumentationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DocumentationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContractProperties.json new file mode 100644 index 00000000000..af904b30487 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "DocumentationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "content", + "name": "Content", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationUpdateContract.json new file mode 100644 index 00000000000..6eeead2412c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Model-DocumentationUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "DocumentationUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DocumentationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..144857483d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "DocumentationId", + "requestObject": { + "type": "Reference", + "referenceName": "DocumentationContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DocumentationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Delete.json new file mode 100644 index 00000000000..5ba23ac08b1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "DocumentationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Get.json new file mode 100644 index 00000000000..f362d719416 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "DocumentationId", + "responseObject": { + "type": "Reference", + "referenceName": "DocumentationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-GetEntityTag.json new file mode 100644 index 00000000000..162e4cc8e9b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "DocumentationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-ListByService.json new file mode 100644 index 00000000000..fdbd083db4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "DocumentationContract" + }, + "uriSuffix": "/documentations" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Update.json new file mode 100644 index 00000000000..15744066625 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "DocumentationId", + "requestObject": { + "type": "Reference", + "referenceName": "DocumentationUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "DocumentationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-DocumentationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-DocumentationId.json new file mode 100644 index 00000000000..846d979ab63 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-DocumentationId.json @@ -0,0 +1,52 @@ +{ + "name": "DocumentationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/documentations/{documentationId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticDocumentations", + "type": "Static", + "value": "documentations" + }, + { + "name": "documentationId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/DocumentationResource/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContract.json new file mode 100644 index 00000000000..37d9fb00254 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContract.json @@ -0,0 +1,57 @@ +{ + "name": "EmailTemplateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "EmailTemplateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContractProperties.json new file mode 100644 index 00000000000..24a969b6396 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateContractProperties.json @@ -0,0 +1,87 @@ +{ + "name": "EmailTemplateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "body", + "name": "Body", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isDefault", + "name": "IsDefault", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "EmailTemplateParametersContractProperties" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateParametersContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateParametersContractProperties.json new file mode 100644 index 00000000000..4f6b5b4b476 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Model-EmailTemplateParametersContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "EmailTemplateParametersContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Operation-ListByService.json new file mode 100644 index 00000000000..1ed886cc23c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "EmailTemplateContract" + }, + "uriSuffix": "/templates" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplate/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Constant-TemplateName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Constant-TemplateName.json new file mode 100644 index 00000000000..7cd1830d3a3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Constant-TemplateName.json @@ -0,0 +1,62 @@ +{ + "name": "TemplateName", + "type": "String", + "values": [ + { + "key": "AccountClosedDeveloper", + "value": "accountClosedDeveloper" + }, + { + "key": "ApplicationApprovedNotificationMessage", + "value": "applicationApprovedNotificationMessage" + }, + { + "key": "ConfirmSignUpIdentityDefault", + "value": "confirmSignUpIdentityDefault" + }, + { + "key": "EmailChangeIdentityDefault", + "value": "emailChangeIdentityDefault" + }, + { + "key": "InviteUserNotificationMessage", + "value": "inviteUserNotificationMessage" + }, + { + "key": "NewCommentNotificationMessage", + "value": "newCommentNotificationMessage" + }, + { + "key": "NewDeveloperNotificationMessage", + "value": "newDeveloperNotificationMessage" + }, + { + "key": "NewIssueNotificationMessage", + "value": "newIssueNotificationMessage" + }, + { + "key": "PasswordResetByAdminNotificationMessage", + "value": "passwordResetByAdminNotificationMessage" + }, + { + "key": "PasswordResetIdentityDefault", + "value": "passwordResetIdentityDefault" + }, + { + "key": "PurchaseDeveloperNotificationMessage", + "value": "purchaseDeveloperNotificationMessage" + }, + { + "key": "QuotaLimitApproachingDeveloperNotificationMessage", + "value": "quotaLimitApproachingDeveloperNotificationMessage" + }, + { + "key": "RejectDeveloperNotificationMessage", + "value": "rejectDeveloperNotificationMessage" + }, + { + "key": "RequestDeveloperNotificationMessage", + "value": "requestDeveloperNotificationMessage" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContract.json new file mode 100644 index 00000000000..37d9fb00254 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContract.json @@ -0,0 +1,57 @@ +{ + "name": "EmailTemplateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "EmailTemplateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContractProperties.json new file mode 100644 index 00000000000..24a969b6396 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateContractProperties.json @@ -0,0 +1,87 @@ +{ + "name": "EmailTemplateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "body", + "name": "Body", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isDefault", + "name": "IsDefault", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "EmailTemplateParametersContractProperties" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateParametersContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateParametersContractProperties.json new file mode 100644 index 00000000000..4f6b5b4b476 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateParametersContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "EmailTemplateParametersContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameterProperties.json new file mode 100644 index 00000000000..9d98e267c16 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameterProperties.json @@ -0,0 +1,74 @@ +{ + "name": "EmailTemplateUpdateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "body", + "name": "Body", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "EmailTemplateParametersContractProperties" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameters.json new file mode 100644 index 00000000000..aaef4b151af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Model-EmailTemplateUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "EmailTemplateUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "EmailTemplateUpdateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateCreateOrUpdate.json new file mode 100644 index 00000000000..0a98a755c72 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "EmailTemplateCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TemplateId", + "requestObject": { + "type": "Reference", + "referenceName": "EmailTemplateUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "EmailTemplateContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateDelete.json new file mode 100644 index 00000000000..607c3c6d482 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateDelete.json @@ -0,0 +1,23 @@ +{ + "name": "EmailTemplateDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TemplateId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGet.json new file mode 100644 index 00000000000..e1ffefedf42 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGet.json @@ -0,0 +1,14 @@ +{ + "name": "EmailTemplateGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "TemplateId", + "responseObject": { + "type": "Reference", + "referenceName": "EmailTemplateContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGetEntityTag.json new file mode 100644 index 00000000000..dc0b46c3569 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "EmailTemplateGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "TemplateId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateUpdate.json new file mode 100644 index 00000000000..a73e0f56525 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/Operation-EmailTemplateUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "EmailTemplateUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TemplateId", + "requestObject": { + "type": "Reference", + "referenceName": "EmailTemplateUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "EmailTemplateContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/ResourceId-TemplateId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/ResourceId-TemplateId.json new file mode 100644 index 00000000000..0a73b4dfa43 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/EmailTemplates/ResourceId-TemplateId.json @@ -0,0 +1,53 @@ +{ + "name": "TemplateId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTemplates", + "type": "Static", + "value": "templates" + }, + { + "constantName": "TemplateName", + "name": "templateName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContract.json new file mode 100644 index 00000000000..784ad6955c3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContract.json @@ -0,0 +1,57 @@ +{ + "name": "GatewayContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewayContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContractProperties.json new file mode 100644 index 00000000000..09f4d0a5dbb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-GatewayContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "GatewayContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locationData", + "name": "LocationData", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceLocationDataContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-ResourceLocationDataContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-ResourceLocationDataContract.json new file mode 100644 index 00000000000..054c649d1bf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Model-ResourceLocationDataContract.json @@ -0,0 +1,57 @@ +{ + "name": "ResourceLocationDataContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "city", + "name": "City", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "countryOrRegion", + "name": "CountryOrRegion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "district", + "name": "District", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..57067e5f12c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceGatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GatewayContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Delete.json new file mode 100644 index 00000000000..128cc8557a2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceGatewayId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Get.json new file mode 100644 index 00000000000..d729156c287 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceGatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-GetEntityTag.json new file mode 100644 index 00000000000..ee09189dbe9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ServiceGatewayId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-ListByService.json new file mode 100644 index 00000000000..0d877fe5d61 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayContract" + }, + "uriSuffix": "/gateways" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Update.json new file mode 100644 index 00000000000..949f3cd06f5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceGatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GatewayContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Gateway/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ApiType.json new file mode 100644 index 00000000000..efb64db773a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ApiType.json @@ -0,0 +1,30 @@ +{ + "name": "ApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-BearerTokenSendingMethods.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-BearerTokenSendingMethods.json new file mode 100644 index 00000000000..f42ecfe32b4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-BearerTokenSendingMethods.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethods", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-Protocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-Protocol.json new file mode 100644 index 00000000000..3c4dea1da2d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-Protocol.json @@ -0,0 +1,22 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "HTTPS", + "value": "https" + }, + { + "key": "Ws", + "value": "ws" + }, + { + "key": "Wss", + "value": "wss" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ProvisioningState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ProvisioningState.json new file mode 100644 index 00000000000..9f8b97e7dba --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-ProvisioningState.json @@ -0,0 +1,10 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Created", + "value": "created" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-VersioningScheme.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-VersioningScheme.json new file mode 100644 index 00000000000..a3170d16bf4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Constant-VersioningScheme.json @@ -0,0 +1,18 @@ +{ + "name": "VersioningScheme", + "type": "String", + "values": [ + { + "key": "Header", + "value": "Header" + }, + { + "key": "Query", + "value": "Query" + }, + { + "key": "Segment", + "value": "Segment" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContactInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContactInformation.json new file mode 100644 index 00000000000..d6c9e910e4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContactInformation.json @@ -0,0 +1,44 @@ +{ + "name": "ApiContactInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContract.json new file mode 100644 index 00000000000..656e5313645 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContract.json @@ -0,0 +1,57 @@ +{ + "name": "ApiContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContractProperties.json new file mode 100644 index 00000000000..70c7d8be382 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiContractProperties.json @@ -0,0 +1,295 @@ +{ + "name": "ApiContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSet", + "name": "ApiVersionSet", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionSetContractDetails" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceApiId", + "name": "SourceApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiLicenseInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiLicenseInformation.json new file mode 100644 index 00000000000..c1d5c9a227a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiLicenseInformation.json @@ -0,0 +1,31 @@ +{ + "name": "ApiLicenseInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiVersionSetContractDetails.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiVersionSetContractDetails.json new file mode 100644 index 00000000000..8643e1d01f6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-ApiVersionSetContractDetails.json @@ -0,0 +1,83 @@ +{ + "name": "ApiVersionSetContractDetails", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionHeaderName", + "name": "VersionHeaderName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionQueryName", + "name": "VersionQueryName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versioningScheme", + "name": "VersioningScheme", + "objectDefinition": { + "type": "Reference", + "referenceName": "VersioningScheme" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContract.json new file mode 100644 index 00000000000..a72fca4a17e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContract.json @@ -0,0 +1,57 @@ +{ + "name": "AssociationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AssociationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContractProperties.json new file mode 100644 index 00000000000..710b9bc6338 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AssociationContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "AssociationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AuthenticationSettingsContract.json new file mode 100644 index 00000000000..eff9940699c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-AuthenticationSettingsContract.json @@ -0,0 +1,65 @@ +{ + "name": "AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2", + "name": "OAuth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2AuthenticationSettings", + "name": "OAuth2AuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openid", + "name": "Openid", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidAuthenticationSettings", + "name": "OpenidAuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OAuth2AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OAuth2AuthenticationSettingsContract.json new file mode 100644 index 00000000000..a535d1fc2aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OAuth2AuthenticationSettingsContract.json @@ -0,0 +1,31 @@ +{ + "name": "OAuth2AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationServerId", + "name": "AuthorizationServerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OpenIdAuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OpenIdAuthenticationSettingsContract.json new file mode 100644 index 00000000000..e7f51ef8de5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-OpenIdAuthenticationSettingsContract.json @@ -0,0 +1,35 @@ +{ + "name": "OpenIdAuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethods" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidProviderId", + "name": "OpenidProviderId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-SubscriptionKeyParameterNamesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-SubscriptionKeyParameterNamesContract.json new file mode 100644 index 00000000000..039a61eafd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Model-SubscriptionKeyParameterNamesContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeyParameterNamesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..83b8fed2bee --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "GatewayApiId", + "requestObject": { + "type": "Reference", + "referenceName": "AssociationContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-Delete.json new file mode 100644 index 00000000000..e4206ad117b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "GatewayApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-GetEntityTag.json new file mode 100644 index 00000000000..05f7a06f479 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "GatewayApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-ListByService.json new file mode 100644 index 00000000000..7d38d2033d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceGatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + }, + "uriSuffix": "/apis" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-GatewayApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-GatewayApiId.json new file mode 100644 index 00000000000..56aefef219f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-GatewayApiId.json @@ -0,0 +1,61 @@ +{ + "name": "GatewayApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayApi/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContract.json new file mode 100644 index 00000000000..d696ded549c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContract.json @@ -0,0 +1,57 @@ +{ + "name": "GatewayCertificateAuthorityContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewayCertificateAuthorityContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContractProperties.json new file mode 100644 index 00000000000..1ea7e720ee7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Model-GatewayCertificateAuthorityContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "GatewayCertificateAuthorityContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isTrusted", + "name": "IsTrusted", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..1beb868d59a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CertificateAuthorityId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayCertificateAuthorityContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GatewayCertificateAuthorityContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Delete.json new file mode 100644 index 00000000000..11b362d21cb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "CertificateAuthorityId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Get.json new file mode 100644 index 00000000000..211d2a1ac70 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CertificateAuthorityId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayCertificateAuthorityContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-GetEntityTag.json new file mode 100644 index 00000000000..9c861c17ff9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "CertificateAuthorityId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-ListByService.json new file mode 100644 index 00000000000..ed708d920ee --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceGatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayCertificateAuthorityContract" + }, + "uriSuffix": "/certificateAuthorities" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-CertificateAuthorityId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-CertificateAuthorityId.json new file mode 100644 index 00000000000..19e9b971d01 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-CertificateAuthorityId.json @@ -0,0 +1,61 @@ +{ + "name": "CertificateAuthorityId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/certificateAuthorities/{certificateId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + }, + { + "name": "staticCertificateAuthorities", + "type": "Static", + "value": "certificateAuthorities" + }, + { + "name": "certificateId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayCertificateAuthority/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Constant-KeyType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Constant-KeyType.json new file mode 100644 index 00000000000..f43e27083b6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Constant-KeyType.json @@ -0,0 +1,14 @@ +{ + "name": "KeyType", + "type": "String", + "values": [ + { + "key": "Primary", + "value": "primary" + }, + { + "key": "Secondary", + "value": "secondary" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenContract.json new file mode 100644 index 00000000000..86e2191b58c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenContract.json @@ -0,0 +1,18 @@ +{ + "name": "GatewayTokenContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenRequestContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenRequestContract.json new file mode 100644 index 00000000000..80274b3a9b3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Model-GatewayTokenRequestContract.json @@ -0,0 +1,32 @@ +{ + "name": "GatewayTokenRequestContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expiry", + "name": "Expiry", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyType", + "name": "KeyType", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Operation-GatewayGenerateToken.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Operation-GatewayGenerateToken.json new file mode 100644 index 00000000000..05de5a376bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/Operation-GatewayGenerateToken.json @@ -0,0 +1,19 @@ +{ + "name": "GatewayGenerateToken", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceGatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayTokenRequestContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GatewayTokenContract" + }, + "uriSuffix": "/generateToken" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayGenerateToken/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContract.json new file mode 100644 index 00000000000..0a8014b9b34 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContract.json @@ -0,0 +1,57 @@ +{ + "name": "GatewayHostnameConfigurationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GatewayHostnameConfigurationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContractProperties.json new file mode 100644 index 00000000000..f8af4a76a8c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Model-GatewayHostnameConfigurationContractProperties.json @@ -0,0 +1,83 @@ +{ + "name": "GatewayHostnameConfigurationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateId", + "name": "CertificateId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "http2Enabled", + "name": "HTTP2Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostname", + "name": "Hostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negotiateClientCertificate", + "name": "NegotiateClientCertificate", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tls10Enabled", + "name": "Tls10Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tls11Enabled", + "name": "Tls11Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..641dc47ae0f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "HostnameConfigurationId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayHostnameConfigurationContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GatewayHostnameConfigurationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Delete.json new file mode 100644 index 00000000000..5b1f4462716 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "HostnameConfigurationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Get.json new file mode 100644 index 00000000000..b7125abafda --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "HostnameConfigurationId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayHostnameConfigurationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-GetEntityTag.json new file mode 100644 index 00000000000..cd53eea68fa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "HostnameConfigurationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-ListByService.json new file mode 100644 index 00000000000..4a0cd161d5e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceGatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayHostnameConfigurationContract" + }, + "uriSuffix": "/hostnameConfigurations" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-HostnameConfigurationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-HostnameConfigurationId.json new file mode 100644 index 00000000000..ac1ae67f26b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-HostnameConfigurationId.json @@ -0,0 +1,61 @@ +{ + "name": "HostnameConfigurationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/hostnameConfigurations/{hcId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + }, + { + "name": "staticHostnameConfigurations", + "type": "Static", + "value": "hostnameConfigurations" + }, + { + "name": "hcId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayHostnameConfiguration/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/Operation-GatewayInvalidateDebugCredentials.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/Operation-GatewayInvalidateDebugCredentials.json new file mode 100644 index 00000000000..e8c87070230 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/Operation-GatewayInvalidateDebugCredentials.json @@ -0,0 +1,11 @@ +{ + "name": "GatewayInvalidateDebugCredentials", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceGatewayId", + "uriSuffix": "/invalidateDebugCredentials" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayInvalidateDebugCredentials/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Constant-GatewayListDebugCredentialsContractPurpose.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Constant-GatewayListDebugCredentialsContractPurpose.json new file mode 100644 index 00000000000..ad468d4215f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Constant-GatewayListDebugCredentialsContractPurpose.json @@ -0,0 +1,10 @@ +{ + "name": "GatewayListDebugCredentialsContractPurpose", + "type": "String", + "values": [ + { + "key": "Tracing", + "value": "tracing" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayDebugCredentialsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayDebugCredentialsContract.json new file mode 100644 index 00000000000..99cf83053a7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayDebugCredentialsContract.json @@ -0,0 +1,18 @@ +{ + "name": "GatewayDebugCredentialsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "token", + "name": "Token", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayListDebugCredentialsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayListDebugCredentialsContract.json new file mode 100644 index 00000000000..fc26b62e6a6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Model-GatewayListDebugCredentialsContract.json @@ -0,0 +1,48 @@ +{ + "name": "GatewayListDebugCredentialsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "credentialsExpireAfter", + "name": "CredentialsExpireAfter", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "purposes", + "name": "Purposes", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GatewayListDebugCredentialsContractPurpose" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Operation-GatewayListDebugCredentials.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Operation-GatewayListDebugCredentials.json new file mode 100644 index 00000000000..8ceea1ffcc6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/Operation-GatewayListDebugCredentials.json @@ -0,0 +1,19 @@ +{ + "name": "GatewayListDebugCredentials", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceGatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayListDebugCredentialsContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GatewayDebugCredentialsContract" + }, + "uriSuffix": "/listDebugCredentials" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListDebugCredentials/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Model-GatewayKeysContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Model-GatewayKeysContract.json new file mode 100644 index 00000000000..ea547a23add --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Model-GatewayKeysContract.json @@ -0,0 +1,31 @@ +{ + "name": "GatewayKeysContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primary", + "name": "Primary", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondary", + "name": "Secondary", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Operation-GatewayListKeys.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Operation-GatewayListKeys.json new file mode 100644 index 00000000000..cde46b18937 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/Operation-GatewayListKeys.json @@ -0,0 +1,15 @@ +{ + "name": "GatewayListKeys", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceGatewayId", + "responseObject": { + "type": "Reference", + "referenceName": "GatewayKeysContract" + }, + "uriSuffix": "/listKeys" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListKeys/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Model-GatewayListTraceContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Model-GatewayListTraceContract.json new file mode 100644 index 00000000000..3d2a3d9af6f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Model-GatewayListTraceContract.json @@ -0,0 +1,18 @@ +{ + "name": "GatewayListTraceContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "traceId", + "name": "TraceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Operation-GatewayListTrace.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Operation-GatewayListTrace.json new file mode 100644 index 00000000000..a55864b7d1c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/Operation-GatewayListTrace.json @@ -0,0 +1,19 @@ +{ + "name": "GatewayListTrace", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceGatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayListTraceContract" + }, + "responseObject": { + "type": "RawObject", + "referenceName": null + }, + "uriSuffix": "/listTrace" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayListTrace/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Constant-KeyType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Constant-KeyType.json new file mode 100644 index 00000000000..f43e27083b6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Constant-KeyType.json @@ -0,0 +1,14 @@ +{ + "name": "KeyType", + "type": "String", + "values": [ + { + "key": "Primary", + "value": "primary" + }, + { + "key": "Secondary", + "value": "secondary" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Model-GatewayKeyRegenerationRequestContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Model-GatewayKeyRegenerationRequestContract.json new file mode 100644 index 00000000000..c366b533191 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Model-GatewayKeyRegenerationRequestContract.json @@ -0,0 +1,18 @@ +{ + "name": "GatewayKeyRegenerationRequestContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyType", + "name": "KeyType", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Operation-GatewayRegenerateKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Operation-GatewayRegenerateKey.json new file mode 100644 index 00000000000..719f10d4720 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/Operation-GatewayRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "name": "GatewayRegenerateKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ServiceGatewayId", + "requestObject": { + "type": "Reference", + "referenceName": "GatewayKeyRegenerationRequestContract" + }, + "uriSuffix": "/regenerateKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/ResourceId-ServiceGatewayId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/ResourceId-ServiceGatewayId.json new file mode 100644 index 00000000000..735996570c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GatewayRegenerateKey/ResourceId-ServiceGatewayId.json @@ -0,0 +1,52 @@ +{ + "name": "ServiceGatewayId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGateways", + "type": "Static", + "value": "gateways" + }, + { + "name": "gatewayId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverContract.json new file mode 100644 index 00000000000..d7d44eaf805 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverContract.json @@ -0,0 +1,57 @@ +{ + "name": "ResolverContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResolverEntityBaseContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverEntityBaseContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverEntityBaseContract.json new file mode 100644 index 00000000000..3b77a0b06a2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverEntityBaseContract.json @@ -0,0 +1,44 @@ +{ + "name": "ResolverEntityBaseContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContract.json new file mode 100644 index 00000000000..390efc1352b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "ResolverUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResolverUpdateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContractProperties.json new file mode 100644 index 00000000000..952fa6a5b3b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Model-ResolverUpdateContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "ResolverUpdateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..690bb4fc40e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ResolverId", + "requestObject": { + "type": "Reference", + "referenceName": "ResolverContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ResolverContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Delete.json new file mode 100644 index 00000000000..1cdd6e01b66 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ResolverId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Get.json new file mode 100644 index 00000000000..d9efe90ae4f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResolverId", + "responseObject": { + "type": "Reference", + "referenceName": "ResolverContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-GetEntityTag.json new file mode 100644 index 00000000000..58ca2d4aa13 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ResolverId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-ListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-ListByApi.json new file mode 100644 index 00000000000..1ce62e67b33 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-ListByApi.json @@ -0,0 +1,48 @@ +{ + "name": "ListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ResolverContract" + }, + "uriSuffix": "/resolvers" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Update.json new file mode 100644 index 00000000000..e713556a61d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ResolverId", + "requestObject": { + "type": "Reference", + "referenceName": "ResolverUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ResolverContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ApiId.json new file mode 100644 index 00000000000..02906504f80 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ApiId.json @@ -0,0 +1,52 @@ +{ + "name": "ApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ResolverId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ResolverId.json new file mode 100644 index 00000000000..f5253aa7add --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolver/ResourceId-ResolverId.json @@ -0,0 +1,61 @@ +{ + "name": "ResolverId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/resolvers/{resolverId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticResolvers", + "type": "Static", + "value": "resolvers" + }, + { + "name": "resolverId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyContentFormat.json new file mode 100644 index 00000000000..bc4977147f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyContentFormat.json @@ -0,0 +1,22 @@ +{ + "name": "PolicyContentFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "RawxmlNegativelink", + "value": "rawxml-link" + }, + { + "key": "Xml", + "value": "xml" + }, + { + "key": "XmlNegativelink", + "value": "xml-link" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyExportFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyExportFormat.json new file mode 100644 index 00000000000..21d38c5082c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Constant-PolicyExportFormat.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyExportFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContract.json new file mode 100644 index 00000000000..7ba335fd78d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContractProperties.json new file mode 100644 index 00000000000..fa677e5cc12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Model-PolicyContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..d08db697a79 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ResolverId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Delete.json new file mode 100644 index 00000000000..99ff90aabbc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ResolverId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Get.json new file mode 100644 index 00000000000..ec6c1869eaa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-Get.json @@ -0,0 +1,27 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "ResolverId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-GetEntityTag.json new file mode 100644 index 00000000000..ed22b97c565 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ResolverId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-ListByResolver.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-ListByResolver.json new file mode 100644 index 00000000000..92c51e95919 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/Operation-ListByResolver.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResolver", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResolverId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/ResourceId-ResolverId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/ResourceId-ResolverId.json new file mode 100644 index 00000000000..f5253aa7add --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GraphQLApiResolverPolicy/ResourceId-ResolverId.json @@ -0,0 +1,61 @@ +{ + "name": "ResolverId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/resolvers/{resolverId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + }, + { + "name": "staticResolvers", + "type": "Static", + "value": "resolvers" + }, + { + "name": "resolverId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Constant-GroupType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Constant-GroupType.json new file mode 100644 index 00000000000..5897acc844d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Constant-GroupType.json @@ -0,0 +1,18 @@ +{ + "name": "GroupType", + "type": "String", + "values": [ + { + "key": "Custom", + "value": "custom" + }, + { + "key": "External", + "value": "external" + }, + { + "key": "System", + "value": "system" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContract.json new file mode 100644 index 00000000000..626e43a41ce --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContract.json @@ -0,0 +1,57 @@ +{ + "name": "GroupContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContractProperties.json new file mode 100644 index 00000000000..49025d26f27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "GroupContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "builtIn", + "name": "BuiltIn", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalId", + "name": "ExternalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParameters.json new file mode 100644 index 00000000000..a35ff8d66f4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "GroupCreateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupCreateParametersProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParametersProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParametersProperties.json new file mode 100644 index 00000000000..5f8928b83c9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupCreateParametersProperties.json @@ -0,0 +1,57 @@ +{ + "name": "GroupCreateParametersProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalId", + "name": "ExternalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParameters.json new file mode 100644 index 00000000000..f78add57a4d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "GroupUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupUpdateParametersProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParametersProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParametersProperties.json new file mode 100644 index 00000000000..f965194d153 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Model-GroupUpdateParametersProperties.json @@ -0,0 +1,57 @@ +{ + "name": "GroupUpdateParametersProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalId", + "name": "ExternalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..c697536c8f7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "GroupId", + "requestObject": { + "type": "Reference", + "referenceName": "GroupCreateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Delete.json new file mode 100644 index 00000000000..5c1d2a79fa0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "GroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Get.json new file mode 100644 index 00000000000..66945a6c88b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "GroupId", + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-GetEntityTag.json new file mode 100644 index 00000000000..311ba4d94a5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "GroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-ListByService.json new file mode 100644 index 00000000000..ce6539aabb9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + }, + "uriSuffix": "/groups" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Update.json new file mode 100644 index 00000000000..4f9b9ab0d26 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "GroupId", + "requestObject": { + "type": "Reference", + "referenceName": "GroupUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupCreateOrUpdate.json new file mode 100644 index 00000000000..51703254624 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceGroupCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "GroupCreateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupDelete.json new file mode 100644 index 00000000000..ebf3b221c6e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceGroupDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceGroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGet.json new file mode 100644 index 00000000000..2167ac27b54 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceGroupGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGetEntityTag.json new file mode 100644 index 00000000000..391dc7e2a6d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceGroupGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceGroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupListByService.json new file mode 100644 index 00000000000..2ec7b0cfa83 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupListByService.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceGroupListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + }, + "uriSuffix": "/groups" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupUpdate.json new file mode 100644 index 00000000000..2659ddf66fa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/Operation-WorkspaceGroupUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceGroupUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "GroupUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-GroupId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-GroupId.json new file mode 100644 index 00000000000..d449be1a866 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-GroupId.json @@ -0,0 +1,52 @@ +{ + "name": "GroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGroups", + "type": "Static", + "value": "groups" + }, + { + "name": "groupId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceGroupId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceGroupId.json new file mode 100644 index 00000000000..95af767e255 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceGroupId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceGroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/groups/{groupId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticGroups", + "type": "Static", + "value": "groups" + }, + { + "name": "groupId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Group/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-GroupType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-GroupType.json new file mode 100644 index 00000000000..5897acc844d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-GroupType.json @@ -0,0 +1,18 @@ +{ + "name": "GroupType", + "type": "String", + "values": [ + { + "key": "Custom", + "value": "custom" + }, + { + "key": "External", + "value": "external" + }, + { + "key": "System", + "value": "system" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-UserState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-UserState.json new file mode 100644 index 00000000000..ef54d56f02f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Constant-UserState.json @@ -0,0 +1,22 @@ +{ + "name": "UserState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "active" + }, + { + "key": "Blocked", + "value": "blocked" + }, + { + "key": "Deleted", + "value": "deleted" + }, + { + "key": "Pending", + "value": "pending" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-GroupContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-GroupContractProperties.json new file mode 100644 index 00000000000..49025d26f27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-GroupContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "GroupContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "builtIn", + "name": "BuiltIn", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalId", + "name": "ExternalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContract.json new file mode 100644 index 00000000000..2154a969826 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContract.json @@ -0,0 +1,57 @@ +{ + "name": "UserContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContractProperties.json new file mode 100644 index 00000000000..84ade43e262 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserContractProperties.json @@ -0,0 +1,118 @@ +{ + "name": "UserContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "firstName", + "name": "FirstName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groups", + "name": "Groups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GroupContractProperties" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identities", + "name": "Identities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UserIdentityContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "lastName", + "name": "LastName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "note", + "name": "Note", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "registrationDate", + "name": "RegistrationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserIdentityContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserIdentityContract.json new file mode 100644 index 00000000000..1468610fd8f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Model-UserIdentityContract.json @@ -0,0 +1,31 @@ +{ + "name": "UserIdentityContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provider", + "name": "Provider", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-CheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-CheckEntityExists.json new file mode 100644 index 00000000000..e726ccc82be --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-CheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "CheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "GroupUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Create.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Create.json new file mode 100644 index 00000000000..d1bcdb15804 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Create.json @@ -0,0 +1,15 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "GroupUserId", + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Delete.json new file mode 100644 index 00000000000..eba3bb71369 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "GroupUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-List.json new file mode 100644 index 00000000000..29f7ebf7a83 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-List.json @@ -0,0 +1,48 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "GroupId", + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + }, + "uriSuffix": "/users" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCheckEntityExists.json new file mode 100644 index 00000000000..97081367328 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceGroupUserCheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceGroupUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCreate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCreate.json new file mode 100644 index 00000000000..89ece6e3b07 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserCreate.json @@ -0,0 +1,15 @@ +{ + "name": "WorkspaceGroupUserCreate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "WorkspaceGroupUserId", + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserDelete.json new file mode 100644 index 00000000000..a747bf6fbef --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceGroupUserDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "WorkspaceGroupUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserList.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserList.json new file mode 100644 index 00000000000..83460aea526 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/Operation-WorkspaceGroupUserList.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceGroupUserList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + }, + "uriSuffix": "/users" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupId.json new file mode 100644 index 00000000000..d449be1a866 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupId.json @@ -0,0 +1,52 @@ +{ + "name": "GroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGroups", + "type": "Static", + "value": "groups" + }, + { + "name": "groupId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupUserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupUserId.json new file mode 100644 index 00000000000..dc7ac1f2ef7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-GroupUserId.json @@ -0,0 +1,61 @@ +{ + "name": "GroupUserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticGroups", + "type": "Static", + "value": "groups" + }, + { + "name": "groupId", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupId.json new file mode 100644 index 00000000000..95af767e255 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceGroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/groups/{groupId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticGroups", + "type": "Static", + "value": "groups" + }, + { + "name": "groupId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupUserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupUserId.json new file mode 100644 index 00000000000..925e75883e1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/GroupUser/ResourceId-WorkspaceGroupUserId.json @@ -0,0 +1,70 @@ +{ + "name": "WorkspaceGroupUserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/groups/{groupId}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticGroups", + "type": "Static", + "value": "groups" + }, + { + "name": "groupId", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Constant-IdentityProviderType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Constant-IdentityProviderType.json new file mode 100644 index 00000000000..29d78476753 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Constant-IdentityProviderType.json @@ -0,0 +1,30 @@ +{ + "name": "IdentityProviderType", + "type": "String", + "values": [ + { + "key": "Aad", + "value": "aad" + }, + { + "key": "AadBTwoC", + "value": "aadB2C" + }, + { + "key": "Facebook", + "value": "facebook" + }, + { + "key": "Google", + "value": "google" + }, + { + "key": "Microsoft", + "value": "microsoft" + }, + { + "key": "Twitter", + "value": "twitter" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-ClientSecretContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-ClientSecretContract.json new file mode 100644 index 00000000000..8fd98a1eaaf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-ClientSecretContract.json @@ -0,0 +1,18 @@ +{ + "name": "ClientSecretContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContract.json new file mode 100644 index 00000000000..6a8f9e8e908 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContract.json @@ -0,0 +1,57 @@ +{ + "name": "IdentityProviderContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IdentityProviderContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContractProperties.json new file mode 100644 index 00000000000..bf80844b051 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderContractProperties.json @@ -0,0 +1,152 @@ +{ + "name": "IdentityProviderContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowedTenants", + "name": "AllowedTenants", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authority", + "name": "Authority", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientLibrary", + "name": "ClientLibrary", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "passwordResetPolicyName", + "name": "PasswordResetPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileEditingPolicyName", + "name": "ProfileEditingPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signinPolicyName", + "name": "SigninPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signinTenant", + "name": "SigninTenant", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signupPolicyName", + "name": "SignupPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "IdentityProviderType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContract.json new file mode 100644 index 00000000000..0103d229a8d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContract.json @@ -0,0 +1,57 @@ +{ + "name": "IdentityProviderCreateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IdentityProviderCreateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContractProperties.json new file mode 100644 index 00000000000..08b70bd1744 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderCreateContractProperties.json @@ -0,0 +1,152 @@ +{ + "name": "IdentityProviderCreateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowedTenants", + "name": "AllowedTenants", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authority", + "name": "Authority", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientLibrary", + "name": "ClientLibrary", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "passwordResetPolicyName", + "name": "PasswordResetPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileEditingPolicyName", + "name": "ProfileEditingPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signinPolicyName", + "name": "SigninPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signinTenant", + "name": "SigninTenant", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signupPolicyName", + "name": "SignupPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "IdentityProviderType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateParameters.json new file mode 100644 index 00000000000..a4055a831fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "IdentityProviderUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IdentityProviderUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateProperties.json new file mode 100644 index 00000000000..1cc3b77ffad --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Model-IdentityProviderUpdateProperties.json @@ -0,0 +1,152 @@ +{ + "name": "IdentityProviderUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowedTenants", + "name": "AllowedTenants", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authority", + "name": "Authority", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientLibrary", + "name": "ClientLibrary", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "passwordResetPolicyName", + "name": "PasswordResetPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileEditingPolicyName", + "name": "ProfileEditingPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signinPolicyName", + "name": "SigninPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signinTenant", + "name": "SigninTenant", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signupPolicyName", + "name": "SignupPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "IdentityProviderType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..29e7d8e799e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "IdentityProviderId", + "requestObject": { + "type": "Reference", + "referenceName": "IdentityProviderCreateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "IdentityProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Delete.json new file mode 100644 index 00000000000..e8717d06779 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "IdentityProviderId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Get.json new file mode 100644 index 00000000000..42b96a20919 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "IdentityProviderId", + "responseObject": { + "type": "Reference", + "referenceName": "IdentityProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-GetEntityTag.json new file mode 100644 index 00000000000..6b1fe405ac4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "IdentityProviderId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListByService.json new file mode 100644 index 00000000000..4bfec06148d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "IdentityProviderContract" + }, + "uriSuffix": "/identityProviders" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListSecrets.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListSecrets.json new file mode 100644 index 00000000000..eebf5e59036 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-ListSecrets.json @@ -0,0 +1,15 @@ +{ + "name": "ListSecrets", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "IdentityProviderId", + "responseObject": { + "type": "Reference", + "referenceName": "ClientSecretContract" + }, + "uriSuffix": "/listSecrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Update.json new file mode 100644 index 00000000000..d1e7a6cfac4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "IdentityProviderId", + "requestObject": { + "type": "Reference", + "referenceName": "IdentityProviderUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "IdentityProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-IdentityProviderId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-IdentityProviderId.json new file mode 100644 index 00000000000..6cca420abb0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-IdentityProviderId.json @@ -0,0 +1,53 @@ +{ + "name": "IdentityProviderId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticIdentityProviders", + "type": "Static", + "value": "identityProviders" + }, + { + "constantName": "IdentityProviderType", + "name": "identityProviderName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/IdentityProvider/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Constant-State.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Constant-State.json new file mode 100644 index 00000000000..a616095c2ca --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Constant-State.json @@ -0,0 +1,26 @@ +{ + "name": "State", + "type": "String", + "values": [ + { + "key": "Closed", + "value": "closed" + }, + { + "key": "Open", + "value": "open" + }, + { + "key": "Proposed", + "value": "proposed" + }, + { + "key": "Removed", + "value": "removed" + }, + { + "key": "Resolved", + "value": "resolved" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContract.json new file mode 100644 index 00000000000..0d8c82d4dcd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContract.json @@ -0,0 +1,57 @@ +{ + "name": "IssueContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "IssueContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContractProperties.json new file mode 100644 index 00000000000..b3560ef22bf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Model-IssueContractProperties.json @@ -0,0 +1,84 @@ +{ + "name": "IssueContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDate", + "name": "CreatedDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "State" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userId", + "name": "UserId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-Get.json new file mode 100644 index 00000000000..6ef26874365 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "IssueId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-ListByService.json new file mode 100644 index 00000000000..efd2feca7f8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "IssueContract" + }, + "uriSuffix": "/issues" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-IssueId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-IssueId.json new file mode 100644 index 00000000000..07ce718785a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-IssueId.json @@ -0,0 +1,52 @@ +{ + "name": "IssueId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues/{issueId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticIssues", + "type": "Static", + "value": "issues" + }, + { + "name": "issueId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Issue/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Constant-LoggerType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Constant-LoggerType.json new file mode 100644 index 00000000000..690d86e4ded --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Constant-LoggerType.json @@ -0,0 +1,18 @@ +{ + "name": "LoggerType", + "type": "String", + "values": [ + { + "key": "ApplicationInsights", + "value": "applicationInsights" + }, + { + "key": "AzureEventHub", + "value": "azureEventHub" + }, + { + "key": "AzureMonitor", + "value": "azureMonitor" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContract.json new file mode 100644 index 00000000000..cdd7c93847f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContract.json @@ -0,0 +1,57 @@ +{ + "name": "LoggerContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "LoggerContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContractProperties.json new file mode 100644 index 00000000000..2a044dd4fc7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerContractProperties.json @@ -0,0 +1,74 @@ +{ + "name": "LoggerContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "credentials", + "name": "Credentials", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isBuffered", + "name": "IsBuffered", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loggerType", + "name": "LoggerType", + "objectDefinition": { + "type": "Reference", + "referenceName": "LoggerType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceId", + "name": "ResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateContract.json new file mode 100644 index 00000000000..376da651376 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "LoggerUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "LoggerUpdateParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateParameters.json new file mode 100644 index 00000000000..78d0ffb8530 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Model-LoggerUpdateParameters.json @@ -0,0 +1,61 @@ +{ + "name": "LoggerUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "credentials", + "name": "Credentials", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isBuffered", + "name": "IsBuffered", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loggerType", + "name": "LoggerType", + "objectDefinition": { + "type": "Reference", + "referenceName": "LoggerType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..ec205f947c3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "LoggerId", + "requestObject": { + "type": "Reference", + "referenceName": "LoggerContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Delete.json new file mode 100644 index 00000000000..b559103c771 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "LoggerId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Get.json new file mode 100644 index 00000000000..8dbd1a359ae --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "LoggerId", + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-GetEntityTag.json new file mode 100644 index 00000000000..624c3809308 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "LoggerId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-ListByService.json new file mode 100644 index 00000000000..635546db5fe --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + }, + "uriSuffix": "/loggers" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Update.json new file mode 100644 index 00000000000..a1f139b3e3b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "LoggerId", + "requestObject": { + "type": "Reference", + "referenceName": "LoggerUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerCreateOrUpdate.json new file mode 100644 index 00000000000..299e5fbf56d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceLoggerCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceLoggerId", + "requestObject": { + "type": "Reference", + "referenceName": "LoggerContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerDelete.json new file mode 100644 index 00000000000..dfa8c3da724 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceLoggerDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceLoggerId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGet.json new file mode 100644 index 00000000000..5f585e8c278 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceLoggerGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceLoggerId", + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGetEntityTag.json new file mode 100644 index 00000000000..d9636497199 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceLoggerGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceLoggerId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerListByWorkspace.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerListByWorkspace.json new file mode 100644 index 00000000000..3dbd5147806 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerListByWorkspace.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceLoggerListByWorkspace", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + }, + "uriSuffix": "/loggers" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerUpdate.json new file mode 100644 index 00000000000..ca60e657916 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/Operation-WorkspaceLoggerUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceLoggerUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceLoggerId", + "requestObject": { + "type": "Reference", + "referenceName": "LoggerUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "LoggerContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-LoggerId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-LoggerId.json new file mode 100644 index 00000000000..d223b47138d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-LoggerId.json @@ -0,0 +1,52 @@ +{ + "name": "LoggerId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticLoggers", + "type": "Static", + "value": "loggers" + }, + { + "name": "loggerId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceLoggerId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceLoggerId.json new file mode 100644 index 00000000000..0b5cd104fc0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Logger/ResourceId-WorkspaceLoggerId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceLoggerId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/loggers/{loggerId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticLoggers", + "type": "Static", + "value": "loggers" + }, + { + "name": "loggerId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Constant-KeyVaultRefreshState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Constant-KeyVaultRefreshState.json new file mode 100644 index 00000000000..b3453285063 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Constant-KeyVaultRefreshState.json @@ -0,0 +1,14 @@ +{ + "name": "KeyVaultRefreshState", + "type": "String", + "values": [ + { + "key": "False", + "value": "false" + }, + { + "key": "True", + "value": "true" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractCreateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractCreateProperties.json new file mode 100644 index 00000000000..49b98ec9923 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractCreateProperties.json @@ -0,0 +1,31 @@ +{ + "name": "KeyVaultContractCreateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identityClientId", + "name": "IdentityClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretIdentifier", + "name": "SecretIdentifier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractProperties.json new file mode 100644 index 00000000000..7a6739ea991 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "KeyVaultContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identityClientId", + "name": "IdentityClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "lastStatus", + "name": "LastStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultLastAccessStatusContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretIdentifier", + "name": "SecretIdentifier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultLastAccessStatusContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultLastAccessStatusContractProperties.json new file mode 100644 index 00000000000..6edff4657be --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-KeyVaultLastAccessStatusContractProperties.json @@ -0,0 +1,45 @@ +{ + "name": "KeyVaultLastAccessStatusContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "timeStampUtc", + "name": "TimeStampUtc", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContract.json new file mode 100644 index 00000000000..2656dacef4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContract.json @@ -0,0 +1,57 @@ +{ + "name": "NamedValueContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NamedValueContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContractProperties.json new file mode 100644 index 00000000000..574d2f44308 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueContractProperties.json @@ -0,0 +1,87 @@ +{ + "name": "NamedValueContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVault", + "name": "KeyVault", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secret", + "name": "Secret", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContract.json new file mode 100644 index 00000000000..29dae106579 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContract.json @@ -0,0 +1,57 @@ +{ + "name": "NamedValueCreateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NamedValueCreateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContractProperties.json new file mode 100644 index 00000000000..2483245fbf0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueCreateContractProperties.json @@ -0,0 +1,74 @@ +{ + "name": "NamedValueCreateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVault", + "name": "KeyVault", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultContractCreateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secret", + "name": "Secret", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueSecretContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueSecretContract.json new file mode 100644 index 00000000000..36d9d010a7c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueSecretContract.json @@ -0,0 +1,18 @@ +{ + "name": "NamedValueSecretContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameterProperties.json new file mode 100644 index 00000000000..962be3c4607 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameterProperties.json @@ -0,0 +1,74 @@ +{ + "name": "NamedValueUpdateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVault", + "name": "KeyVault", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultContractCreateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secret", + "name": "Secret", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameters.json new file mode 100644 index 00000000000..f820c27307b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Model-NamedValueUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "NamedValueUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NamedValueUpdateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..f9883c5c60e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "NamedValueId", + "requestObject": { + "type": "Reference", + "referenceName": "NamedValueCreateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Delete.json new file mode 100644 index 00000000000..0e3ea3fad0e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "NamedValueId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Get.json new file mode 100644 index 00000000000..72619a28bf2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NamedValueId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-GetEntityTag.json new file mode 100644 index 00000000000..a37a29931aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "NamedValueId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListByService.json new file mode 100644 index 00000000000..7cb60474dc1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListByService.json @@ -0,0 +1,58 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "isKeyVaultRefreshFailed", + "required": false, + "field": "IsKeyVaultRefreshFailed", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + }, + "uriSuffix": "/namedValues" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListValue.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListValue.json new file mode 100644 index 00000000000..1bd78e84117 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-ListValue.json @@ -0,0 +1,15 @@ +{ + "name": "ListValue", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "NamedValueId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueSecretContract" + }, + "uriSuffix": "/listValue" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-RefreshSecret.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-RefreshSecret.json new file mode 100644 index 00000000000..187245374df --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-RefreshSecret.json @@ -0,0 +1,16 @@ +{ + "name": "RefreshSecret", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "NamedValueId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + }, + "uriSuffix": "/refreshSecret" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Update.json new file mode 100644 index 00000000000..567703d29ca --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-Update.json @@ -0,0 +1,31 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "NamedValueId", + "requestObject": { + "type": "Reference", + "referenceName": "NamedValueUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueCreateOrUpdate.json new file mode 100644 index 00000000000..c36d23f169c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceNamedValueCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceNamedValueId", + "requestObject": { + "type": "Reference", + "referenceName": "NamedValueCreateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueDelete.json new file mode 100644 index 00000000000..e3ff4d475cf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceNamedValueDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceNamedValueId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGet.json new file mode 100644 index 00000000000..3e9d9593f27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceNamedValueGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceNamedValueId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGetEntityTag.json new file mode 100644 index 00000000000..ea244614a40 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceNamedValueGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceNamedValueId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListByService.json new file mode 100644 index 00000000000..62946a35c29 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListByService.json @@ -0,0 +1,58 @@ +{ + "name": "WorkspaceNamedValueListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "isKeyVaultRefreshFailed", + "required": false, + "field": "IsKeyVaultRefreshFailed", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultRefreshState" + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + }, + "uriSuffix": "/namedValues" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListValue.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListValue.json new file mode 100644 index 00000000000..a8800ac1819 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueListValue.json @@ -0,0 +1,15 @@ +{ + "name": "WorkspaceNamedValueListValue", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "WorkspaceNamedValueId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueSecretContract" + }, + "uriSuffix": "/listValue" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueRefreshSecret.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueRefreshSecret.json new file mode 100644 index 00000000000..a90ccf53115 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueRefreshSecret.json @@ -0,0 +1,16 @@ +{ + "name": "WorkspaceNamedValueRefreshSecret", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "WorkspaceNamedValueId", + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + }, + "uriSuffix": "/refreshSecret" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueUpdate.json new file mode 100644 index 00000000000..3296790f181 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/Operation-WorkspaceNamedValueUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceNamedValueUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceNamedValueId", + "requestObject": { + "type": "Reference", + "referenceName": "NamedValueUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NamedValueContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-NamedValueId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-NamedValueId.json new file mode 100644 index 00000000000..a1727f68ad6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-NamedValueId.json @@ -0,0 +1,52 @@ +{ + "name": "NamedValueId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticNamedValues", + "type": "Static", + "value": "namedValues" + }, + { + "name": "namedValueId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceNamedValueId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceNamedValueId.json new file mode 100644 index 00000000000..8cfb257b4b3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NamedValue/ResourceId-WorkspaceNamedValueId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceNamedValueId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/namedValues/{namedValueId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticNamedValues", + "type": "Static", + "value": "namedValues" + }, + { + "name": "namedValueId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Constant-ConnectivityStatusType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Constant-ConnectivityStatusType.json new file mode 100644 index 00000000000..dc6928a5779 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Constant-ConnectivityStatusType.json @@ -0,0 +1,18 @@ +{ + "name": "ConnectivityStatusType", + "type": "String", + "values": [ + { + "key": "Failure", + "value": "failure" + }, + { + "key": "Initializing", + "value": "initializing" + }, + { + "key": "Success", + "value": "success" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-ConnectivityStatusContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-ConnectivityStatusContract.json new file mode 100644 index 00000000000..180ab6202d8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-ConnectivityStatusContract.json @@ -0,0 +1,98 @@ +{ + "name": "ConnectivityStatusContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "error", + "name": "Error", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOptional", + "name": "IsOptional", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "lastStatusChange", + "name": "LastStatusChange", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "lastUpdated", + "name": "LastUpdated", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConnectivityStatusType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContract.json new file mode 100644 index 00000000000..251ba997d82 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContract.json @@ -0,0 +1,39 @@ +{ + "name": "NetworkStatusContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectivityStatus", + "name": "ConnectivityStatus", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ConnectivityStatusContract" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "dnsServers", + "name": "DnsServers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContractByLocation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContractByLocation.json new file mode 100644 index 00000000000..7638f5bbd57 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Model-NetworkStatusContractByLocation.json @@ -0,0 +1,31 @@ +{ + "name": "NetworkStatusContractByLocation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "networkStatus", + "name": "NetworkStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "NetworkStatusContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByLocation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByLocation.json new file mode 100644 index 00000000000..5f8f364005a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByLocation.json @@ -0,0 +1,15 @@ +{ + "name": "ListByLocation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "LocationId", + "responseObject": { + "type": "Reference", + "referenceName": "NetworkStatusContract" + }, + "uriSuffix": "/networkstatus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByService.json new file mode 100644 index 00000000000..1381e8596b6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/Operation-ListByService.json @@ -0,0 +1,19 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "NetworkStatusContractByLocation" + } + }, + "uriSuffix": "/networkstatus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-LocationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-LocationId.json new file mode 100644 index 00000000000..7afeacbf078 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-LocationId.json @@ -0,0 +1,52 @@ +{ + "name": "LocationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticLocations", + "type": "Static", + "value": "locations" + }, + { + "name": "locationName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NetworkStatus/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Constant-NotificationName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Constant-NotificationName.json new file mode 100644 index 00000000000..b84f1612114 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Constant-NotificationName.json @@ -0,0 +1,34 @@ +{ + "name": "NotificationName", + "type": "String", + "values": [ + { + "key": "AccountClosedPublisher", + "value": "AccountClosedPublisher" + }, + { + "key": "BCC", + "value": "BCC" + }, + { + "key": "NewApplicationNotificationMessage", + "value": "NewApplicationNotificationMessage" + }, + { + "key": "NewIssuePublisherNotificationMessage", + "value": "NewIssuePublisherNotificationMessage" + }, + { + "key": "PurchasePublisherNotificationMessage", + "value": "PurchasePublisherNotificationMessage" + }, + { + "key": "QuotaLimitApproachingPublisherNotificationMessage", + "value": "QuotaLimitApproachingPublisherNotificationMessage" + }, + { + "key": "RequestPublisherNotificationMessage", + "value": "RequestPublisherNotificationMessage" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContract.json new file mode 100644 index 00000000000..0f93beb43a2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContract.json @@ -0,0 +1,57 @@ +{ + "name": "NotificationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NotificationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContractProperties.json new file mode 100644 index 00000000000..45ccff88956 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-NotificationContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "NotificationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "recipients", + "name": "Recipients", + "objectDefinition": { + "type": "Reference", + "referenceName": "RecipientsContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "title", + "name": "Title", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-RecipientsContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-RecipientsContractProperties.json new file mode 100644 index 00000000000..a74cc77c7eb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Model-RecipientsContractProperties.json @@ -0,0 +1,39 @@ +{ + "name": "RecipientsContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "emails", + "name": "Emails", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "users", + "name": "Users", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..4c7c553a3e6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-CreateOrUpdate.json @@ -0,0 +1,26 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "NotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "NotificationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-Get.json new file mode 100644 index 00000000000..b26060c0505 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "NotificationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-ListByService.json new file mode 100644 index 00000000000..3d08d6d9b0b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-ListByService.json @@ -0,0 +1,38 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "NotificationContract" + }, + "uriSuffix": "/notifications" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationCreateOrUpdate.json new file mode 100644 index 00000000000..8c068eddf00 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationCreateOrUpdate.json @@ -0,0 +1,26 @@ +{ + "name": "WorkspaceNotificationCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "NotificationNotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "NotificationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationGet.json new file mode 100644 index 00000000000..cfeb2158fc0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceNotificationGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NotificationNotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "NotificationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationListByService.json new file mode 100644 index 00000000000..2c9b03b224d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/Operation-WorkspaceNotificationListByService.json @@ -0,0 +1,38 @@ +{ + "name": "WorkspaceNotificationListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "NotificationContract" + }, + "uriSuffix": "/notifications" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationId.json new file mode 100644 index 00000000000..e2234230453 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationId.json @@ -0,0 +1,53 @@ +{ + "name": "NotificationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationNotificationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationNotificationId.json new file mode 100644 index 00000000000..fd99318f8eb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-NotificationNotificationId.json @@ -0,0 +1,62 @@ +{ + "name": "NotificationNotificationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/notifications/{notificationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Notification/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Constant-NotificationName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Constant-NotificationName.json new file mode 100644 index 00000000000..b84f1612114 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Constant-NotificationName.json @@ -0,0 +1,34 @@ +{ + "name": "NotificationName", + "type": "String", + "values": [ + { + "key": "AccountClosedPublisher", + "value": "AccountClosedPublisher" + }, + { + "key": "BCC", + "value": "BCC" + }, + { + "key": "NewApplicationNotificationMessage", + "value": "NewApplicationNotificationMessage" + }, + { + "key": "NewIssuePublisherNotificationMessage", + "value": "NewIssuePublisherNotificationMessage" + }, + { + "key": "PurchasePublisherNotificationMessage", + "value": "PurchasePublisherNotificationMessage" + }, + { + "key": "QuotaLimitApproachingPublisherNotificationMessage", + "value": "QuotaLimitApproachingPublisherNotificationMessage" + }, + { + "key": "RequestPublisherNotificationMessage", + "value": "RequestPublisherNotificationMessage" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContract.json new file mode 100644 index 00000000000..c81f96ad162 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContract.json @@ -0,0 +1,57 @@ +{ + "name": "RecipientEmailContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "RecipientEmailContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContractProperties.json new file mode 100644 index 00000000000..9a30903a987 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Model-RecipientEmailContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "RecipientEmailContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CheckEntityExists.json new file mode 100644 index 00000000000..3f7d81e8fbe --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "CheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "RecipientEmailId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..44abd3b0ccf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-CreateOrUpdate.json @@ -0,0 +1,15 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "RecipientEmailId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientEmailContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-Delete.json new file mode 100644 index 00000000000..b96190dfcd9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "RecipientEmailId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-ListByNotification.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-ListByNotification.json new file mode 100644 index 00000000000..c2fb66aae85 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-ListByNotification.json @@ -0,0 +1,16 @@ +{ + "name": "ListByNotification", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientEmailContract" + }, + "uriSuffix": "/recipientEmails" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCheckEntityExists.json new file mode 100644 index 00000000000..b46450f972f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceNotificationRecipientEmailCheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "NotificationRecipientEmailId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCreateOrUpdate.json new file mode 100644 index 00000000000..02b2876abaf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailCreateOrUpdate.json @@ -0,0 +1,15 @@ +{ + "name": "WorkspaceNotificationRecipientEmailCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "NotificationRecipientEmailId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientEmailContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailDelete.json new file mode 100644 index 00000000000..caea1f5f41b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceNotificationRecipientEmailDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "NotificationRecipientEmailId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailListByNotification.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailListByNotification.json new file mode 100644 index 00000000000..48b33bc0686 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/Operation-WorkspaceNotificationRecipientEmailListByNotification.json @@ -0,0 +1,16 @@ +{ + "name": "WorkspaceNotificationRecipientEmailListByNotification", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NotificationNotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientEmailContract" + }, + "uriSuffix": "/recipientEmails" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationId.json new file mode 100644 index 00000000000..e2234230453 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationId.json @@ -0,0 +1,53 @@ +{ + "name": "NotificationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationNotificationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationNotificationId.json new file mode 100644 index 00000000000..fd99318f8eb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationNotificationId.json @@ -0,0 +1,62 @@ +{ + "name": "NotificationNotificationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/notifications/{notificationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationRecipientEmailId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationRecipientEmailId.json new file mode 100644 index 00000000000..ba437d8ee94 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-NotificationRecipientEmailId.json @@ -0,0 +1,71 @@ +{ + "name": "NotificationRecipientEmailId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/notifications/{notificationName}/recipientEmails/{recipientEmailName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + }, + { + "name": "staticRecipientEmails", + "type": "Static", + "value": "recipientEmails" + }, + { + "name": "recipientEmailName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-RecipientEmailId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-RecipientEmailId.json new file mode 100644 index 00000000000..9c2f0638826 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientEmail/ResourceId-RecipientEmailId.json @@ -0,0 +1,62 @@ +{ + "name": "RecipientEmailId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{recipientEmailName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + }, + { + "name": "staticRecipientEmails", + "type": "Static", + "value": "recipientEmails" + }, + { + "name": "recipientEmailName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Constant-NotificationName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Constant-NotificationName.json new file mode 100644 index 00000000000..b84f1612114 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Constant-NotificationName.json @@ -0,0 +1,34 @@ +{ + "name": "NotificationName", + "type": "String", + "values": [ + { + "key": "AccountClosedPublisher", + "value": "AccountClosedPublisher" + }, + { + "key": "BCC", + "value": "BCC" + }, + { + "key": "NewApplicationNotificationMessage", + "value": "NewApplicationNotificationMessage" + }, + { + "key": "NewIssuePublisherNotificationMessage", + "value": "NewIssuePublisherNotificationMessage" + }, + { + "key": "PurchasePublisherNotificationMessage", + "value": "PurchasePublisherNotificationMessage" + }, + { + "key": "QuotaLimitApproachingPublisherNotificationMessage", + "value": "QuotaLimitApproachingPublisherNotificationMessage" + }, + { + "key": "RequestPublisherNotificationMessage", + "value": "RequestPublisherNotificationMessage" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUserContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUserContract.json new file mode 100644 index 00000000000..1491d139768 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUserContract.json @@ -0,0 +1,57 @@ +{ + "name": "RecipientUserContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "RecipientUsersContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUsersContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUsersContractProperties.json new file mode 100644 index 00000000000..5a62af01267 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Model-RecipientUsersContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "RecipientUsersContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userId", + "name": "UserId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CheckEntityExists.json new file mode 100644 index 00000000000..45296e41541 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "CheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "RecipientUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..b057d284fce --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-CreateOrUpdate.json @@ -0,0 +1,15 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "RecipientUserId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientUserContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-Delete.json new file mode 100644 index 00000000000..23dfd65ed84 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "RecipientUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-ListByNotification.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-ListByNotification.json new file mode 100644 index 00000000000..a51a9bd6076 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-ListByNotification.json @@ -0,0 +1,16 @@ +{ + "name": "ListByNotification", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientUserContract" + }, + "uriSuffix": "/recipientUsers" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCheckEntityExists.json new file mode 100644 index 00000000000..b6b0ddb196d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceNotificationRecipientUserCheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "NotificationRecipientUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCreateOrUpdate.json new file mode 100644 index 00000000000..94c3cbb831a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserCreateOrUpdate.json @@ -0,0 +1,15 @@ +{ + "name": "WorkspaceNotificationRecipientUserCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "NotificationRecipientUserId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientUserContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserDelete.json new file mode 100644 index 00000000000..8e600978e57 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceNotificationRecipientUserDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "NotificationRecipientUserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserListByNotification.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserListByNotification.json new file mode 100644 index 00000000000..0a6b0befa72 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/Operation-WorkspaceNotificationRecipientUserListByNotification.json @@ -0,0 +1,16 @@ +{ + "name": "WorkspaceNotificationRecipientUserListByNotification", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NotificationNotificationId", + "responseObject": { + "type": "Reference", + "referenceName": "RecipientUserContract" + }, + "uriSuffix": "/recipientUsers" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationId.json new file mode 100644 index 00000000000..e2234230453 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationId.json @@ -0,0 +1,53 @@ +{ + "name": "NotificationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationNotificationId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationNotificationId.json new file mode 100644 index 00000000000..fd99318f8eb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationNotificationId.json @@ -0,0 +1,62 @@ +{ + "name": "NotificationNotificationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/notifications/{notificationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationRecipientUserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationRecipientUserId.json new file mode 100644 index 00000000000..b3b657c4e00 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-NotificationRecipientUserId.json @@ -0,0 +1,71 @@ +{ + "name": "NotificationRecipientUserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/notifications/{notificationName}/recipientUsers/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + }, + { + "name": "staticRecipientUsers", + "type": "Static", + "value": "recipientUsers" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-RecipientUserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-RecipientUserId.json new file mode 100644 index 00000000000..ba5083448c9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/NotificationRecipientUser/ResourceId-RecipientUserId.json @@ -0,0 +1,62 @@ +{ + "name": "RecipientUserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticNotifications", + "type": "Static", + "value": "notifications" + }, + { + "constantName": "NotificationName", + "name": "notificationName", + "type": "Constant" + }, + { + "name": "staticRecipientUsers", + "type": "Static", + "value": "recipientUsers" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-ClientSecretContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-ClientSecretContract.json new file mode 100644 index 00000000000..8fd98a1eaaf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-ClientSecretContract.json @@ -0,0 +1,18 @@ +{ + "name": "ClientSecretContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContract.json new file mode 100644 index 00000000000..972115fa656 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContract.json @@ -0,0 +1,57 @@ +{ + "name": "OpenidConnectProviderContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenidConnectProviderContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContractProperties.json new file mode 100644 index 00000000000..2bdad59b3b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderContractProperties.json @@ -0,0 +1,96 @@ +{ + "name": "OpenidConnectProviderContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metadataEndpoint", + "name": "MetadataEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInApiDocumentation", + "name": "UseInApiDocumentation", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInTestConsole", + "name": "UseInTestConsole", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContract.json new file mode 100644 index 00000000000..2bd87cd2344 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "OpenidConnectProviderUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenidConnectProviderUpdateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContractProperties.json new file mode 100644 index 00000000000..c8657b1df8c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Model-OpenidConnectProviderUpdateContractProperties.json @@ -0,0 +1,96 @@ +{ + "name": "OpenidConnectProviderUpdateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientId", + "name": "ClientId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientSecret", + "name": "ClientSecret", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metadataEndpoint", + "name": "MetadataEndpoint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInApiDocumentation", + "name": "UseInApiDocumentation", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useInTestConsole", + "name": "UseInTestConsole", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..ed62e50d7ea --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OpenidConnectProviderId", + "requestObject": { + "type": "Reference", + "referenceName": "OpenidConnectProviderContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OpenidConnectProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Delete.json new file mode 100644 index 00000000000..bfe705a9e34 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OpenidConnectProviderId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Get.json new file mode 100644 index 00000000000..70fecff3a18 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OpenidConnectProviderId", + "responseObject": { + "type": "Reference", + "referenceName": "OpenidConnectProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-GetEntityTag.json new file mode 100644 index 00000000000..1b0069fd4d4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "OpenidConnectProviderId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListByService.json new file mode 100644 index 00000000000..f28fefbacde --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "OpenidConnectProviderContract" + }, + "uriSuffix": "/openidConnectProviders" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListSecrets.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListSecrets.json new file mode 100644 index 00000000000..40a554382db --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-ListSecrets.json @@ -0,0 +1,15 @@ +{ + "name": "ListSecrets", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "OpenidConnectProviderId", + "responseObject": { + "type": "Reference", + "referenceName": "ClientSecretContract" + }, + "uriSuffix": "/listSecrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Update.json new file mode 100644 index 00000000000..8c03f3a455d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "OpenidConnectProviderId", + "requestObject": { + "type": "Reference", + "referenceName": "OpenidConnectProviderUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OpenidConnectProviderContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-OpenidConnectProviderId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-OpenidConnectProviderId.json new file mode 100644 index 00000000000..7c236afd620 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-OpenidConnectProviderId.json @@ -0,0 +1,52 @@ +{ + "name": "OpenidConnectProviderId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{openidConnectProviderName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticOpenidConnectProviders", + "type": "Static", + "value": "openidConnectProviders" + }, + { + "name": "openidConnectProviderName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OpenidConnectProvider/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDependency.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDependency.json new file mode 100644 index 00000000000..661bf80a6af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDependency.json @@ -0,0 +1,35 @@ +{ + "name": "EndpointDependency", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "domainName", + "name": "DomainName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpointDetails", + "name": "EndpointDetails", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "EndpointDetail" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDetail.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDetail.json new file mode 100644 index 00000000000..3665c728707 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-EndpointDetail.json @@ -0,0 +1,31 @@ +{ + "name": "EndpointDetail", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "port", + "name": "Port", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "region", + "name": "Region", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-OutboundEnvironmentEndpoint.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-OutboundEnvironmentEndpoint.json new file mode 100644 index 00000000000..3441bcedbf5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Model-OutboundEnvironmentEndpoint.json @@ -0,0 +1,35 @@ +{ + "name": "OutboundEnvironmentEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "category", + "name": "Category", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpoints", + "name": "Endpoints", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "EndpointDependency" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Operation-ListByService.json new file mode 100644 index 00000000000..21088f7eb9e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "OutboundEnvironmentEndpoint" + }, + "uriSuffix": "/outboundNetworkDependenciesEndpoints" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/OutboundNetworkDependenciesEndpoints/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectionStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectionStatus.json new file mode 100644 index 00000000000..d3a0fc13a4a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectionStatus.json @@ -0,0 +1,22 @@ +{ + "name": "ConnectionStatus", + "type": "String", + "values": [ + { + "key": "Connected", + "value": "Connected" + }, + { + "key": "Degraded", + "value": "Degraded" + }, + { + "key": "Disconnected", + "value": "Disconnected" + }, + { + "key": "Unknown", + "value": "Unknown" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectivityCheckProtocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectivityCheckProtocol.json new file mode 100644 index 00000000000..f8fc14e6381 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-ConnectivityCheckProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "ConnectivityCheckProtocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "HTTP" + }, + { + "key": "HTTPS", + "value": "HTTPS" + }, + { + "key": "TCP", + "value": "TCP" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-IssueType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-IssueType.json new file mode 100644 index 00000000000..9cbcf98d3c2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-IssueType.json @@ -0,0 +1,42 @@ +{ + "name": "IssueType", + "type": "String", + "values": [ + { + "key": "AgentStopped", + "value": "AgentStopped" + }, + { + "key": "DnsResolution", + "value": "DnsResolution" + }, + { + "key": "GuestFirewall", + "value": "GuestFirewall" + }, + { + "key": "NetworkSecurityRule", + "value": "NetworkSecurityRule" + }, + { + "key": "Platform", + "value": "Platform" + }, + { + "key": "PortThrottled", + "value": "PortThrottled" + }, + { + "key": "SocketBind", + "value": "SocketBind" + }, + { + "key": "Unknown", + "value": "Unknown" + }, + { + "key": "UserDefinedRoute", + "value": "UserDefinedRoute" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Method.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Method.json new file mode 100644 index 00000000000..a20932a818c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Method.json @@ -0,0 +1,14 @@ +{ + "name": "Method", + "type": "String", + "values": [ + { + "key": "GET", + "value": "GET" + }, + { + "key": "POST", + "value": "POST" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Origin.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Origin.json new file mode 100644 index 00000000000..7ec5e8d75a2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Origin.json @@ -0,0 +1,18 @@ +{ + "name": "Origin", + "type": "String", + "values": [ + { + "key": "Inbound", + "value": "Inbound" + }, + { + "key": "Local", + "value": "Local" + }, + { + "key": "Outbound", + "value": "Outbound" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-PreferredIPVersion.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-PreferredIPVersion.json new file mode 100644 index 00000000000..3c61e7a44ad --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-PreferredIPVersion.json @@ -0,0 +1,10 @@ +{ + "name": "PreferredIPVersion", + "type": "String", + "values": [ + { + "key": "IPvFour", + "value": "IPv4" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Severity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Severity.json new file mode 100644 index 00000000000..3fd35716bf6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Constant-Severity.json @@ -0,0 +1,14 @@ +{ + "name": "Severity", + "type": "String", + "values": [ + { + "key": "Error", + "value": "Error" + }, + { + "key": "Warning", + "value": "Warning" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequest.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequest.json new file mode 100644 index 00000000000..26abfc0cfe0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequest.json @@ -0,0 +1,70 @@ +{ + "name": "ConnectivityCheckRequest", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "destination", + "name": "Destination", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConnectivityCheckRequestDestination" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "preferredIPVersion", + "name": "PreferredIPVersion", + "objectDefinition": { + "type": "Reference", + "referenceName": "PreferredIPVersion" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocol", + "name": "Protocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConnectivityCheckProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocolConfiguration", + "name": "ProtocolConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConnectivityCheckRequestProtocolConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "source", + "name": "Source", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConnectivityCheckRequestSource" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestDestination.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestDestination.json new file mode 100644 index 00000000000..a403fa1e666 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestDestination.json @@ -0,0 +1,31 @@ +{ + "name": "ConnectivityCheckRequestDestination", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "address", + "name": "Address", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "port", + "name": "Port", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfiguration.json new file mode 100644 index 00000000000..55111970256 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfiguration.json @@ -0,0 +1,18 @@ +{ + "name": "ConnectivityCheckRequestProtocolConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "HTTPConfiguration", + "name": "HTTPConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConnectivityCheckRequestProtocolConfigurationHTTPConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfigurationHTTPConfiguration.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfigurationHTTPConfiguration.json new file mode 100644 index 00000000000..f51d5851b04 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestProtocolConfigurationHTTPConfiguration.json @@ -0,0 +1,52 @@ +{ + "name": "ConnectivityCheckRequestProtocolConfigurationHTTPConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headers", + "name": "Headers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "HTTPHeader" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "Reference", + "referenceName": "Method" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validStatusCodes", + "name": "ValidStatusCodes", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Integer", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestSource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestSource.json new file mode 100644 index 00000000000..d6c6a7f7845 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckRequestSource.json @@ -0,0 +1,31 @@ +{ + "name": "ConnectivityCheckRequestSource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "instance", + "name": "Instance", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "region", + "name": "Region", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckResponse.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckResponse.json new file mode 100644 index 00000000000..9cbafc186f2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityCheckResponse.json @@ -0,0 +1,100 @@ +{ + "name": "ConnectivityCheckResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "avgLatencyInMs", + "name": "AvgLatencyInMs", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectionStatus", + "name": "ConnectionStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "ConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hops", + "name": "Hops", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ConnectivityHop" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maxLatencyInMs", + "name": "MaxLatencyInMs", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minLatencyInMs", + "name": "MinLatencyInMs", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probesFailed", + "name": "ProbesFailed", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probesSent", + "name": "ProbesSent", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityHop.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityHop.json new file mode 100644 index 00000000000..ca580f90226 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityHop.json @@ -0,0 +1,91 @@ +{ + "name": "ConnectivityHop", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "address", + "name": "Address", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "issues", + "name": "Issues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ConnectivityIssue" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nextHopIds", + "name": "NextHopIds", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceId", + "name": "ResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityIssue.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityIssue.json new file mode 100644 index 00000000000..4d56f6b4ac9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-ConnectivityIssue.json @@ -0,0 +1,65 @@ +{ + "name": "ConnectivityIssue", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "context", + "name": "Context", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "origin", + "name": "Origin", + "objectDefinition": { + "type": "Reference", + "referenceName": "Origin" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "severity", + "name": "Severity", + "objectDefinition": { + "type": "Reference", + "referenceName": "Severity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "IssueType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-HTTPHeader.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-HTTPHeader.json new file mode 100644 index 00000000000..209dad715a2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Model-HTTPHeader.json @@ -0,0 +1,31 @@ +{ + "name": "HTTPHeader", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Operation-Async.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Operation-Async.json new file mode 100644 index 00000000000..f127abe2987 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/Operation-Async.json @@ -0,0 +1,20 @@ +{ + "name": "Async", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "ConnectivityCheckRequest" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ConnectivityCheckResponse" + }, + "uriSuffix": "/connectivityCheck" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PerformConnectivityCheck/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyContentFormat.json new file mode 100644 index 00000000000..bc4977147f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyContentFormat.json @@ -0,0 +1,22 @@ +{ + "name": "PolicyContentFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "RawxmlNegativelink", + "value": "rawxml-link" + }, + { + "key": "Xml", + "value": "xml" + }, + { + "key": "XmlNegativelink", + "value": "xml-link" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyExportFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyExportFormat.json new file mode 100644 index 00000000000..21d38c5082c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Constant-PolicyExportFormat.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyExportFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContract.json new file mode 100644 index 00000000000..7ba335fd78d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContractProperties.json new file mode 100644 index 00000000000..fa677e5cc12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Model-PolicyContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..012648bfdc3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Delete.json new file mode 100644 index 00000000000..6e27631797a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Get.json new file mode 100644 index 00000000000..397e808cda9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-Get.json @@ -0,0 +1,27 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-GetEntityTag.json new file mode 100644 index 00000000000..d75cea0bb7c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ServiceId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-ListByService.json new file mode 100644 index 00000000000..a43abd64155 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Policy/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Constant-PolicyScopeContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Constant-PolicyScopeContract.json new file mode 100644 index 00000000000..abefa0aaaa9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Constant-PolicyScopeContract.json @@ -0,0 +1,26 @@ +{ + "name": "PolicyScopeContract", + "type": "String", + "values": [ + { + "key": "All", + "value": "All" + }, + { + "key": "Api", + "value": "Api" + }, + { + "key": "Operation", + "value": "Operation" + }, + { + "key": "Product", + "value": "Product" + }, + { + "key": "Tenant", + "value": "Tenant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionCollection.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionCollection.json new file mode 100644 index 00000000000..5707ad5fb6b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionCollection.json @@ -0,0 +1,35 @@ +{ + "name": "PolicyDescriptionCollection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "count", + "name": "Count", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PolicyDescriptionContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContract.json new file mode 100644 index 00000000000..c8089008257 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyDescriptionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyDescriptionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContractProperties.json new file mode 100644 index 00000000000..5ce8c5902d2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Model-PolicyDescriptionContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyDescriptionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Operation-ListByService.json new file mode 100644 index 00000000000..39572dc4f1e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/Operation-ListByService.json @@ -0,0 +1,27 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "scope", + "required": false, + "field": "Scope", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyScopeContract" + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyDescriptionCollection" + }, + "uriSuffix": "/policyDescriptions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyDescription/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Constant-PolicyFragmentContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Constant-PolicyFragmentContentFormat.json new file mode 100644 index 00000000000..0f00a1405bb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Constant-PolicyFragmentContentFormat.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyFragmentContentFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContract.json new file mode 100644 index 00000000000..2151d812245 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyFragmentContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyFragmentContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContractProperties.json new file mode 100644 index 00000000000..c35131a2af3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-PolicyFragmentContractProperties.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyFragmentContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyFragmentContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-Resource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-Resource.json new file mode 100644 index 00000000000..157665b6e7c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Model-Resource.json @@ -0,0 +1,44 @@ +{ + "name": "Resource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..1cc746baa99 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PolicyFragmentId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Delete.json new file mode 100644 index 00000000000..e1c164ed42d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PolicyFragmentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Get.json new file mode 100644 index 00000000000..7d02ce556a5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-Get.json @@ -0,0 +1,26 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyFragmentContentFormat" + } + } + ], + "resourceIdName": "PolicyFragmentId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-GetEntityTag.json new file mode 100644 index 00000000000..026512853e2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "PolicyFragmentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListByService.json new file mode 100644 index 00000000000..38421769c7c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListByService.json @@ -0,0 +1,58 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + }, + "uriSuffix": "/policyFragments" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListReferences.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListReferences.json new file mode 100644 index 00000000000..3050a8b1e0f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-ListReferences.json @@ -0,0 +1,38 @@ +{ + "name": "ListReferences", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "options": [ + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "PolicyFragmentId", + "responseObject": { + "type": "Reference", + "referenceName": "Resource" + }, + "uriSuffix": "/listReferences" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentCreateOrUpdate.json new file mode 100644 index 00000000000..21302ffd351 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspacePolicyFragmentCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspacePolicyFragmentId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentDelete.json new file mode 100644 index 00000000000..fbbb89777ad --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspacePolicyFragmentDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspacePolicyFragmentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGet.json new file mode 100644 index 00000000000..1e497bb14b8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGet.json @@ -0,0 +1,26 @@ +{ + "name": "WorkspacePolicyFragmentGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyFragmentContentFormat" + } + } + ], + "resourceIdName": "WorkspacePolicyFragmentId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGetEntityTag.json new file mode 100644 index 00000000000..d074cec11c7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspacePolicyFragmentGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspacePolicyFragmentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListByService.json new file mode 100644 index 00000000000..c5b72be4ede --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListByService.json @@ -0,0 +1,58 @@ +{ + "name": "WorkspacePolicyFragmentListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyFragmentContract" + }, + "uriSuffix": "/policyFragments" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListReferences.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListReferences.json new file mode 100644 index 00000000000..a9a87b488cc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/Operation-WorkspacePolicyFragmentListReferences.json @@ -0,0 +1,38 @@ +{ + "name": "WorkspacePolicyFragmentListReferences", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "options": [ + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspacePolicyFragmentId", + "responseObject": { + "type": "Reference", + "referenceName": "Resource" + }, + "uriSuffix": "/listReferences" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-PolicyFragmentId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-PolicyFragmentId.json new file mode 100644 index 00000000000..e00b6a0f8f7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-PolicyFragmentId.json @@ -0,0 +1,52 @@ +{ + "name": "PolicyFragmentId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{policyFragmentName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticPolicyFragments", + "type": "Static", + "value": "policyFragments" + }, + { + "name": "policyFragmentName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspacePolicyFragmentId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspacePolicyFragmentId.json new file mode 100644 index 00000000000..9ac1757cc9c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyFragment/ResourceId-WorkspacePolicyFragmentId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspacePolicyFragmentId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/policyFragments/{policyFragmentName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticPolicyFragments", + "type": "Static", + "value": "policyFragments" + }, + { + "name": "policyFragmentName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Constant-PolicyRestrictionRequireBase.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Constant-PolicyRestrictionRequireBase.json new file mode 100644 index 00000000000..5099f7a17e5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Constant-PolicyRestrictionRequireBase.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyRestrictionRequireBase", + "type": "String", + "values": [ + { + "key": "False", + "value": "false" + }, + { + "key": "True", + "value": "true" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContract.json new file mode 100644 index 00000000000..a9fd10215b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyRestrictionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyRestrictionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContractProperties.json new file mode 100644 index 00000000000..858d2e225ef --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyRestrictionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requireBase", + "name": "RequireBase", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyRestrictionRequireBase" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionUpdateContract.json new file mode 100644 index 00000000000..839924980b9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Model-PolicyRestrictionUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "PolicyRestrictionUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyRestrictionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..806626ff30e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PolicyRestrictionId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyRestrictionContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyRestrictionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Delete.json new file mode 100644 index 00000000000..19bee2e3262 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PolicyRestrictionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Get.json new file mode 100644 index 00000000000..fb0fad96549 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PolicyRestrictionId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyRestrictionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-GetEntityTag.json new file mode 100644 index 00000000000..be82b484876 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "PolicyRestrictionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Update.json new file mode 100644 index 00000000000..df9b33f53e1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PolicyRestrictionId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyRestrictionUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyRestrictionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/ResourceId-PolicyRestrictionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/ResourceId-PolicyRestrictionId.json new file mode 100644 index 00000000000..93a58da769a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestriction/ResourceId-PolicyRestrictionId.json @@ -0,0 +1,52 @@ +{ + "name": "PolicyRestrictionId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyRestrictions/{policyRestrictionId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticPolicyRestrictions", + "type": "Static", + "value": "policyRestrictions" + }, + { + "name": "policyRestrictionId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Constant-PolicyRestrictionRequireBase.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Constant-PolicyRestrictionRequireBase.json new file mode 100644 index 00000000000..5099f7a17e5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Constant-PolicyRestrictionRequireBase.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyRestrictionRequireBase", + "type": "String", + "values": [ + { + "key": "False", + "value": "false" + }, + { + "key": "True", + "value": "true" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContract.json new file mode 100644 index 00000000000..a9fd10215b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyRestrictionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyRestrictionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContractProperties.json new file mode 100644 index 00000000000..858d2e225ef --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Model-PolicyRestrictionContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyRestrictionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requireBase", + "name": "RequireBase", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyRestrictionRequireBase" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Operation-PolicyRestrictionListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Operation-PolicyRestrictionListByService.json new file mode 100644 index 00000000000..9170545005a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/Operation-PolicyRestrictionListByService.json @@ -0,0 +1,16 @@ +{ + "name": "PolicyRestrictionListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyRestrictionContract" + }, + "uriSuffix": "/policyRestrictions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictions/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Constant-AsyncOperationStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Constant-AsyncOperationStatus.json new file mode 100644 index 00000000000..e1d37f62fd1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Constant-AsyncOperationStatus.json @@ -0,0 +1,22 @@ +{ + "name": "AsyncOperationStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "Started", + "value": "Started" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorFieldContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorFieldContract.json new file mode 100644 index 00000000000..f8929fefd3c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorFieldContract.json @@ -0,0 +1,44 @@ +{ + "name": "ErrorFieldContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "target", + "name": "Target", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorResponseBody.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorResponseBody.json new file mode 100644 index 00000000000..cddf07c0ad3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-ErrorResponseBody.json @@ -0,0 +1,48 @@ +{ + "name": "ErrorResponseBody", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "details", + "name": "Details", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ErrorFieldContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContract.json new file mode 100644 index 00000000000..5bb533368fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContract.json @@ -0,0 +1,57 @@ +{ + "name": "OperationResultContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationResultContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContractProperties.json new file mode 100644 index 00000000000..92b550e6123 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultContractProperties.json @@ -0,0 +1,102 @@ +{ + "name": "OperationResultContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionLog", + "name": "ActionLog", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OperationResultLogItemContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "error", + "name": "Error", + "objectDefinition": { + "type": "Reference", + "referenceName": "ErrorResponseBody" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resultInfo", + "name": "ResultInfo", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "started", + "name": "Started", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "AsyncOperationStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "updated", + "name": "Updated", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultLogItemContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultLogItemContract.json new file mode 100644 index 00000000000..9de7112393e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Model-OperationResultLogItemContract.json @@ -0,0 +1,44 @@ +{ + "name": "OperationResultLogItemContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "action", + "name": "Action", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "objectKey", + "name": "ObjectKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "objectType", + "name": "ObjectType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Operation-PolicyRestrictionValidationsByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Operation-PolicyRestrictionValidationsByService.json new file mode 100644 index 00000000000..89d0ed74970 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/Operation-PolicyRestrictionValidationsByService.json @@ -0,0 +1,16 @@ +{ + "name": "PolicyRestrictionValidationsByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "OperationResultContract" + }, + "uriSuffix": "/validatePolicies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PolicyRestrictionsValidations/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Constant-PortalSettingsCspMode.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Constant-PortalSettingsCspMode.json new file mode 100644 index 00000000000..db35733cdb0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Constant-PortalSettingsCspMode.json @@ -0,0 +1,18 @@ +{ + "name": "PortalSettingsCspMode", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "disabled" + }, + { + "key": "Enabled", + "value": "enabled" + }, + { + "key": "ReportOnly", + "value": "reportOnly" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigContract.json new file mode 100644 index 00000000000..2e4969427e1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigContract.json @@ -0,0 +1,57 @@ +{ + "name": "PortalConfigContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalConfigProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCorsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCorsProperties.json new file mode 100644 index 00000000000..b44eba7c2e8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCorsProperties.json @@ -0,0 +1,22 @@ +{ + "name": "PortalConfigCorsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowedOrigins", + "name": "AllowedOrigins", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCspProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCspProperties.json new file mode 100644 index 00000000000..b8612a00e61 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigCspProperties.json @@ -0,0 +1,52 @@ +{ + "name": "PortalConfigCspProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowedSources", + "name": "AllowedSources", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "mode", + "name": "Mode", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalSettingsCspMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reportUri", + "name": "ReportUri", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigDelegationProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigDelegationProperties.json new file mode 100644 index 00000000000..729742dc167 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigDelegationProperties.json @@ -0,0 +1,57 @@ +{ + "name": "PortalConfigDelegationProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "delegateRegistration", + "name": "DelegateRegistration", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "delegateSubscription", + "name": "DelegateSubscription", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "delegationUrl", + "name": "DelegationUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationKey", + "name": "ValidationKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigProperties.json new file mode 100644 index 00000000000..a077e09d353 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigProperties.json @@ -0,0 +1,83 @@ +{ + "name": "PortalConfigProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cors", + "name": "Cors", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalConfigCorsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "csp", + "name": "Csp", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalConfigCspProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "delegation", + "name": "Delegation", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalConfigDelegationProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enableBasicAuth", + "name": "EnableBasicAuth", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signin", + "name": "Signin", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalConfigPropertiesSignin" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "signup", + "name": "Signup", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalConfigPropertiesSignup" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignin.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignin.json new file mode 100644 index 00000000000..47aa326f720 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignin.json @@ -0,0 +1,18 @@ +{ + "name": "PortalConfigPropertiesSignin", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "require", + "name": "Require", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignup.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignup.json new file mode 100644 index 00000000000..8ced3a6b0d6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigPropertiesSignup.json @@ -0,0 +1,18 @@ +{ + "name": "PortalConfigPropertiesSignup", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfService", + "name": "TermsOfService", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalConfigTermsOfServiceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigTermsOfServiceProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigTermsOfServiceProperties.json new file mode 100644 index 00000000000..084dbfaea08 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Model-PortalConfigTermsOfServiceProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PortalConfigTermsOfServiceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requireConsent", + "name": "RequireConsent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "text", + "name": "Text", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..4dcb8bd9734 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-CreateOrUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PortalConfigId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalConfigContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PortalConfigContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Get.json new file mode 100644 index 00000000000..c487ed7cbfa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PortalConfigId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalConfigContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-GetEntityTag.json new file mode 100644 index 00000000000..40693e03e88 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "PortalConfigId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-ListByService.json new file mode 100644 index 00000000000..e294811c8c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalConfigContract" + }, + "uriSuffix": "/portalConfigs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Update.json new file mode 100644 index 00000000000..1239ef54ac4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PortalConfigId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalConfigContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PortalConfigContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-PortalConfigId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-PortalConfigId.json new file mode 100644 index 00000000000..f7182f147ec --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-PortalConfigId.json @@ -0,0 +1,52 @@ +{ + "name": "PortalConfigId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalConfigs/{portalConfigId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticPortalConfigs", + "type": "Static", + "value": "portalConfigs" + }, + { + "name": "portalConfigId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalConfig/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Constant-PortalRevisionStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Constant-PortalRevisionStatus.json new file mode 100644 index 00000000000..f35c48909e6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Constant-PortalRevisionStatus.json @@ -0,0 +1,22 @@ +{ + "name": "PortalRevisionStatus", + "type": "String", + "values": [ + { + "key": "Completed", + "value": "completed" + }, + { + "key": "Failed", + "value": "failed" + }, + { + "key": "Pending", + "value": "pending" + }, + { + "key": "Publishing", + "value": "publishing" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContract.json new file mode 100644 index 00000000000..6333c6d53ec --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContract.json @@ -0,0 +1,57 @@ +{ + "name": "PortalRevisionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalRevisionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContractProperties.json new file mode 100644 index 00000000000..1ca0c6f218d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Model-PortalRevisionContractProperties.json @@ -0,0 +1,98 @@ +{ + "name": "PortalRevisionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDateTime", + "name": "CreatedDateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalRevisionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "statusDetails", + "name": "StatusDetails", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "updatedDateTime", + "name": "UpdatedDateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..239b14122c1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-CreateOrUpdate.json @@ -0,0 +1,18 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "PortalRevisionId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalRevisionContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PortalRevisionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Get.json new file mode 100644 index 00000000000..6721512524c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PortalRevisionId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalRevisionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-GetEntityTag.json new file mode 100644 index 00000000000..4fc6a8a1a50 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "PortalRevisionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-ListByService.json new file mode 100644 index 00000000000..0c2ec89d92e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalRevisionContract" + }, + "uriSuffix": "/portalRevisions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Update.json new file mode 100644 index 00000000000..30f963724df --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/Operation-Update.json @@ -0,0 +1,31 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "PortalRevisionId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalRevisionContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PortalRevisionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-PortalRevisionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-PortalRevisionId.json new file mode 100644 index 00000000000..29f74844a00 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-PortalRevisionId.json @@ -0,0 +1,52 @@ +{ + "name": "PortalRevisionId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalRevisions/{portalRevisionId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticPortalRevisions", + "type": "Static", + "value": "portalRevisions" + }, + { + "name": "portalRevisionId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalRevision/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsCollection.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsCollection.json new file mode 100644 index 00000000000..bdcd601e61a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsCollection.json @@ -0,0 +1,35 @@ +{ + "name": "PortalSettingsCollection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "count", + "name": "Count", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PortalSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContract.json new file mode 100644 index 00000000000..40ae05ffcb0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContract.json @@ -0,0 +1,57 @@ +{ + "name": "PortalSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalSettingsContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContractProperties.json new file mode 100644 index 00000000000..6c3bb987244 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-PortalSettingsContractProperties.json @@ -0,0 +1,83 @@ +{ + "name": "PortalSettingsContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptions", + "name": "Subscriptions", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionsDelegationSettingsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfService", + "name": "TermsOfService", + "objectDefinition": { + "type": "Reference", + "referenceName": "TermsOfServiceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userRegistration", + "name": "UserRegistration", + "objectDefinition": { + "type": "Reference", + "referenceName": "RegistrationDelegationSettingsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationKey", + "name": "ValidationKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-RegistrationDelegationSettingsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-RegistrationDelegationSettingsProperties.json new file mode 100644 index 00000000000..383ee1c1718 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-RegistrationDelegationSettingsProperties.json @@ -0,0 +1,18 @@ +{ + "name": "RegistrationDelegationSettingsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-SubscriptionsDelegationSettingsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-SubscriptionsDelegationSettingsProperties.json new file mode 100644 index 00000000000..26191a32970 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-SubscriptionsDelegationSettingsProperties.json @@ -0,0 +1,18 @@ +{ + "name": "SubscriptionsDelegationSettingsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-TermsOfServiceProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-TermsOfServiceProperties.json new file mode 100644 index 00000000000..5b7008ebdd6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Model-TermsOfServiceProperties.json @@ -0,0 +1,44 @@ +{ + "name": "TermsOfServiceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "consentRequired", + "name": "ConsentRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "text", + "name": "Text", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Operation-ListByService.json new file mode 100644 index 00000000000..3a74f39b5b9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/Operation-ListByService.json @@ -0,0 +1,15 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalSettingsCollection" + }, + "uriSuffix": "/portalsettings" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PortalSettings/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json new file mode 100644 index 00000000000..210b0540d01 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json new file mode 100644 index 00000000000..5deff56fd45 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointServiceConnectionStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpoint.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpoint.json new file mode 100644 index 00000000000..94d38d15c12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpoint.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnection.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnection.json new file mode 100644 index 00000000000..b62437ad0bf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnection.json @@ -0,0 +1,57 @@ +{ + "name": "PrivateEndpointConnection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json new file mode 100644 index 00000000000..d069a352b5a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionListResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json new file mode 100644 index 00000000000..42a48b3b367 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateEndpointConnectionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpoint", + "name": "PrivateEndpoint", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpoint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequest.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequest.json new file mode 100644 index 00000000000..63bbb6fe764 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequest.json @@ -0,0 +1,31 @@ +{ + "name": "PrivateEndpointConnectionRequest", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionRequestProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequestProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequestProperties.json new file mode 100644 index 00000000000..9776ebfd56c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionRequestProperties.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointConnectionRequestProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResource.json new file mode 100644 index 00000000000..cd089270a61 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResource.json @@ -0,0 +1,57 @@ +{ + "name": "PrivateLinkResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkResourceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceListResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceListResult.json new file mode 100644 index 00000000000..1e1d2e575df --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceListResult.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateLinkResourceListResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PrivateLinkResource" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceProperties.json new file mode 100644 index 00000000000..77b9aad7e67 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkResourceProperties.json @@ -0,0 +1,52 @@ +{ + "name": "PrivateLinkResourceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupId", + "name": "GroupId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requiredMembers", + "name": "RequiredMembers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requiredZoneNames", + "name": "RequiredZoneNames", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json new file mode 100644 index 00000000000..6c33dde96cb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateLinkServiceConnectionState", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionsRequired", + "name": "ActionsRequired", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointServiceConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionCreateOrUpdate.json new file mode 100644 index 00000000000..b34ec333513 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "PrivateEndpointConnectionCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "PrivateEndpointConnectionId", + "requestObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionRequest" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionDelete.json new file mode 100644 index 00000000000..2009d0df100 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionDelete.json @@ -0,0 +1,12 @@ +{ + "name": "PrivateEndpointConnectionDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "PrivateEndpointConnectionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetByName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetByName.json new file mode 100644 index 00000000000..b6619bcf7f6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetByName.json @@ -0,0 +1,14 @@ +{ + "name": "PrivateEndpointConnectionGetByName", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PrivateEndpointConnectionId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetPrivateLinkResource.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetPrivateLinkResource.json new file mode 100644 index 00000000000..9aaab4ea454 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionGetPrivateLinkResource.json @@ -0,0 +1,14 @@ +{ + "name": "PrivateEndpointConnectionGetPrivateLinkResource", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PrivateLinkResourceId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateLinkResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListByService.json new file mode 100644 index 00000000000..a865f8c550b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListByService.json @@ -0,0 +1,15 @@ +{ + "name": "PrivateEndpointConnectionListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionListResult" + }, + "uriSuffix": "/privateEndpointConnections" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListPrivateLinkResources.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListPrivateLinkResources.json new file mode 100644 index 00000000000..fdac3172c83 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/Operation-PrivateEndpointConnectionListPrivateLinkResources.json @@ -0,0 +1,15 @@ +{ + "name": "PrivateEndpointConnectionListPrivateLinkResources", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateLinkResourceListResult" + }, + "uriSuffix": "/privateLinkResources" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json new file mode 100644 index 00000000000..9d71c3755df --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json @@ -0,0 +1,52 @@ +{ + "name": "PrivateEndpointConnectionId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateEndpointConnections/{privateEndpointConnectionName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticPrivateEndpointConnections", + "type": "Static", + "value": "privateEndpointConnections" + }, + { + "name": "privateEndpointConnectionName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateLinkResourceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateLinkResourceId.json new file mode 100644 index 00000000000..a2b54cdefbb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-PrivateLinkResourceId.json @@ -0,0 +1,52 @@ +{ + "name": "PrivateLinkResourceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateLinkResources/{privateLinkResourceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticPrivateLinkResources", + "type": "Static", + "value": "privateLinkResources" + }, + { + "name": "privateLinkResourceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/PrivateEndpointConnections/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Constant-ProductState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Constant-ProductState.json new file mode 100644 index 00000000000..e205639ffd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Constant-ProductState.json @@ -0,0 +1,14 @@ +{ + "name": "ProductState", + "type": "String", + "values": [ + { + "key": "NotPublished", + "value": "notPublished" + }, + { + "key": "Published", + "value": "published" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContract.json new file mode 100644 index 00000000000..e47c9079b4f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContract.json @@ -0,0 +1,57 @@ +{ + "name": "ProductContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContractProperties.json new file mode 100644 index 00000000000..3f71889424b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductContractProperties.json @@ -0,0 +1,96 @@ +{ + "name": "ProductContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "approvalRequired", + "name": "ApprovalRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionsLimit", + "name": "SubscriptionsLimit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "terms", + "name": "Terms", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateParameters.json new file mode 100644 index 00000000000..523d26382f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "ProductUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateProperties.json new file mode 100644 index 00000000000..4d46d30253c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Model-ProductUpdateProperties.json @@ -0,0 +1,96 @@ +{ + "name": "ProductUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "approvalRequired", + "name": "ApprovalRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionsLimit", + "name": "SubscriptionsLimit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "terms", + "name": "Terms", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..d1ead07eba9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Delete.json new file mode 100644 index 00000000000..bf124941e15 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Delete.json @@ -0,0 +1,33 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "optional": true, + "queryString": "deleteSubscriptions", + "required": false, + "field": "DeleteSubscriptions", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Get.json new file mode 100644 index 00000000000..f4401fa7b2f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-GetEntityTag.json new file mode 100644 index 00000000000..a41e4282ac4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ProductId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-ListByService.json new file mode 100644 index 00000000000..f142d50e376 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-ListByService.json @@ -0,0 +1,68 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "expandGroups", + "required": false, + "field": "ExpandGroups", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "tags", + "required": false, + "field": "Tags", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + }, + "uriSuffix": "/products" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Update.json new file mode 100644 index 00000000000..da548f6ab14 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductCreateOrUpdate.json new file mode 100644 index 00000000000..1b3f1f2e471 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceProductCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceProductId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductDelete.json new file mode 100644 index 00000000000..9ba8ada671b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductDelete.json @@ -0,0 +1,33 @@ +{ + "name": "WorkspaceProductDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "optional": true, + "queryString": "deleteSubscriptions", + "required": false, + "field": "DeleteSubscriptions", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceProductId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGet.json new file mode 100644 index 00000000000..25ec3d927a4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceProductGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceProductId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGetEntityTag.json new file mode 100644 index 00000000000..da31c8f09e5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceProductGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceProductId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductListByService.json new file mode 100644 index 00000000000..622d1d96f0a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductListByService.json @@ -0,0 +1,68 @@ +{ + "name": "WorkspaceProductListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "expandGroups", + "required": false, + "field": "ExpandGroups", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "tags", + "required": false, + "field": "Tags", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + }, + "uriSuffix": "/products" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductUpdate.json new file mode 100644 index 00000000000..545834241c9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/Operation-WorkspaceProductUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceProductUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceProductId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceProductId.json new file mode 100644 index 00000000000..efb06e18d99 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Product/ResourceId-WorkspaceProductId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-ApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-ApiType.json new file mode 100644 index 00000000000..efb64db773a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-ApiType.json @@ -0,0 +1,30 @@ +{ + "name": "ApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-BearerTokenSendingMethods.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-BearerTokenSendingMethods.json new file mode 100644 index 00000000000..f42ecfe32b4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-BearerTokenSendingMethods.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethods", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-Protocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-Protocol.json new file mode 100644 index 00000000000..3c4dea1da2d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-Protocol.json @@ -0,0 +1,22 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "HTTPS", + "value": "https" + }, + { + "key": "Ws", + "value": "ws" + }, + { + "key": "Wss", + "value": "wss" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-VersioningScheme.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-VersioningScheme.json new file mode 100644 index 00000000000..a3170d16bf4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Constant-VersioningScheme.json @@ -0,0 +1,18 @@ +{ + "name": "VersioningScheme", + "type": "String", + "values": [ + { + "key": "Header", + "value": "Header" + }, + { + "key": "Query", + "value": "Query" + }, + { + "key": "Segment", + "value": "Segment" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContactInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContactInformation.json new file mode 100644 index 00000000000..d6c9e910e4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContactInformation.json @@ -0,0 +1,44 @@ +{ + "name": "ApiContactInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContract.json new file mode 100644 index 00000000000..656e5313645 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContract.json @@ -0,0 +1,57 @@ +{ + "name": "ApiContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContractProperties.json new file mode 100644 index 00000000000..70c7d8be382 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiContractProperties.json @@ -0,0 +1,295 @@ +{ + "name": "ApiContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSet", + "name": "ApiVersionSet", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiVersionSetContractDetails" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceApiId", + "name": "SourceApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiLicenseInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiLicenseInformation.json new file mode 100644 index 00000000000..c1d5c9a227a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiLicenseInformation.json @@ -0,0 +1,31 @@ +{ + "name": "ApiLicenseInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiVersionSetContractDetails.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiVersionSetContractDetails.json new file mode 100644 index 00000000000..8643e1d01f6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-ApiVersionSetContractDetails.json @@ -0,0 +1,83 @@ +{ + "name": "ApiVersionSetContractDetails", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionHeaderName", + "name": "VersionHeaderName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versionQueryName", + "name": "VersionQueryName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "versioningScheme", + "name": "VersioningScheme", + "objectDefinition": { + "type": "Reference", + "referenceName": "VersioningScheme" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-AuthenticationSettingsContract.json new file mode 100644 index 00000000000..eff9940699c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-AuthenticationSettingsContract.json @@ -0,0 +1,65 @@ +{ + "name": "AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2", + "name": "OAuth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2AuthenticationSettings", + "name": "OAuth2AuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openid", + "name": "Openid", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidAuthenticationSettings", + "name": "OpenidAuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OAuth2AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OAuth2AuthenticationSettingsContract.json new file mode 100644 index 00000000000..a535d1fc2aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OAuth2AuthenticationSettingsContract.json @@ -0,0 +1,31 @@ +{ + "name": "OAuth2AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationServerId", + "name": "AuthorizationServerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OpenIdAuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OpenIdAuthenticationSettingsContract.json new file mode 100644 index 00000000000..e7f51ef8de5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-OpenIdAuthenticationSettingsContract.json @@ -0,0 +1,35 @@ +{ + "name": "OpenIdAuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethods" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidProviderId", + "name": "OpenidProviderId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-SubscriptionKeyParameterNamesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-SubscriptionKeyParameterNamesContract.json new file mode 100644 index 00000000000..039a61eafd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Model-SubscriptionKeyParameterNamesContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeyParameterNamesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CheckEntityExists.json new file mode 100644 index 00000000000..07809608572 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "CheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ProductApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..65630ca1585 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-CreateOrUpdate.json @@ -0,0 +1,15 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ProductApiId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-Delete.json new file mode 100644 index 00000000000..2a4e6fc8687 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ProductApiId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-ListByProduct.json new file mode 100644 index 00000000000..6ae072792cb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/Operation-ListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiContract" + }, + "uriSuffix": "/apis" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductApiId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductApiId.json new file mode 100644 index 00000000000..a5bcf27c77f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductApiId.json @@ -0,0 +1,61 @@ +{ + "name": "ProductApiId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + }, + { + "name": "staticApis", + "type": "Static", + "value": "apis" + }, + { + "name": "apiId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApi/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContract.json new file mode 100644 index 00000000000..e8a75750a9b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContract.json @@ -0,0 +1,57 @@ +{ + "name": "ProductApiLinkContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductApiLinkContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContractProperties.json new file mode 100644 index 00000000000..2d4e56ff5d9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Model-ProductApiLinkContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "ProductApiLinkContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..2b1249bad9d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ProductApiLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Delete.json new file mode 100644 index 00000000000..7d65e7d05da --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ProductApiLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Get.json new file mode 100644 index 00000000000..bdfe35ea2c9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProductApiLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-ListByProduct.json new file mode 100644 index 00000000000..5ab2bfed937 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-ListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + }, + "uriSuffix": "/apiLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkCreateOrUpdate.json new file mode 100644 index 00000000000..bd59818713f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "WorkspaceProductApiLinkCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "WorkspaceProductApiLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkDelete.json new file mode 100644 index 00000000000..d9325277942 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceProductApiLinkDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "WorkspaceProductApiLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkGet.json new file mode 100644 index 00000000000..24250a9be6a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceProductApiLinkGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceProductApiLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkListByProduct.json new file mode 100644 index 00000000000..274810460bb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/Operation-WorkspaceProductApiLinkListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceProductApiLinkListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceProductId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductApiLinkContract" + }, + "uriSuffix": "/apiLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductApiLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductApiLinkId.json new file mode 100644 index 00000000000..fb914892342 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductApiLinkId.json @@ -0,0 +1,61 @@ +{ + "name": "ProductApiLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apiLinks/{apiLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + }, + { + "name": "staticApiLinks", + "type": "Static", + "value": "apiLinks" + }, + { + "name": "apiLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductApiLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductApiLinkId.json new file mode 100644 index 00000000000..9f00df69577 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductApiLinkId.json @@ -0,0 +1,70 @@ +{ + "name": "WorkspaceProductApiLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/products/{productId}/apiLinks/{apiLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + }, + { + "name": "staticApiLinks", + "type": "Static", + "value": "apiLinks" + }, + { + "name": "apiLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductId.json new file mode 100644 index 00000000000..efb06e18d99 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductApiLink/ResourceId-WorkspaceProductId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Constant-GroupType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Constant-GroupType.json new file mode 100644 index 00000000000..5897acc844d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Constant-GroupType.json @@ -0,0 +1,18 @@ +{ + "name": "GroupType", + "type": "String", + "values": [ + { + "key": "Custom", + "value": "custom" + }, + { + "key": "External", + "value": "external" + }, + { + "key": "System", + "value": "system" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContract.json new file mode 100644 index 00000000000..626e43a41ce --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContract.json @@ -0,0 +1,57 @@ +{ + "name": "GroupContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContractProperties.json new file mode 100644 index 00000000000..49025d26f27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Model-GroupContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "GroupContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "builtIn", + "name": "BuiltIn", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalId", + "name": "ExternalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CheckEntityExists.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CheckEntityExists.json new file mode 100644 index 00000000000..11f05e9f2e2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CheckEntityExists.json @@ -0,0 +1,10 @@ +{ + "name": "CheckEntityExists", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ProductGroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..a03495b0631 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-CreateOrUpdate.json @@ -0,0 +1,15 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ProductGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-Delete.json new file mode 100644 index 00000000000..520293de735 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ProductGroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-ListByProduct.json new file mode 100644 index 00000000000..53be070188e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/Operation-ListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + }, + "uriSuffix": "/groups" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductGroupId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductGroupId.json new file mode 100644 index 00000000000..8fc0d4af6ae --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductGroupId.json @@ -0,0 +1,61 @@ +{ + "name": "ProductGroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + }, + { + "name": "staticGroups", + "type": "Static", + "value": "groups" + }, + { + "name": "groupId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroup/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContract.json new file mode 100644 index 00000000000..8fc49af5118 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContract.json @@ -0,0 +1,57 @@ +{ + "name": "ProductGroupLinkContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductGroupLinkContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContractProperties.json new file mode 100644 index 00000000000..b3141077cc0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Model-ProductGroupLinkContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "ProductGroupLinkContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupId", + "name": "GroupId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..93d01e357b9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "GroupLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Delete.json new file mode 100644 index 00000000000..54f72b345c4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "GroupLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Get.json new file mode 100644 index 00000000000..24b4f48534f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "GroupLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-ListByProduct.json new file mode 100644 index 00000000000..d507d8772b3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-ListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + }, + "uriSuffix": "/groupLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkCreateOrUpdate.json new file mode 100644 index 00000000000..1998aea0d32 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "WorkspaceProductGroupLinkCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ProductGroupLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkDelete.json new file mode 100644 index 00000000000..844b3029345 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceProductGroupLinkDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ProductGroupLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkGet.json new file mode 100644 index 00000000000..eeceff865da --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceProductGroupLinkGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProductGroupLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkListByProduct.json new file mode 100644 index 00000000000..dd5feaefba8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/Operation-WorkspaceProductGroupLinkListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceProductGroupLinkListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceProductId", + "responseObject": { + "type": "Reference", + "referenceName": "ProductGroupLinkContract" + }, + "uriSuffix": "/groupLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-GroupLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-GroupLinkId.json new file mode 100644 index 00000000000..78bf1c89899 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-GroupLinkId.json @@ -0,0 +1,61 @@ +{ + "name": "GroupLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groupLinks/{groupLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + }, + { + "name": "staticGroupLinks", + "type": "Static", + "value": "groupLinks" + }, + { + "name": "groupLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductGroupLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductGroupLinkId.json new file mode 100644 index 00000000000..b156f7191b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductGroupLinkId.json @@ -0,0 +1,70 @@ +{ + "name": "ProductGroupLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/products/{productId}/groupLinks/{groupLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + }, + { + "name": "staticGroupLinks", + "type": "Static", + "value": "groupLinks" + }, + { + "name": "groupLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-WorkspaceProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-WorkspaceProductId.json new file mode 100644 index 00000000000..efb06e18d99 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductGroupLink/ResourceId-WorkspaceProductId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyContentFormat.json new file mode 100644 index 00000000000..bc4977147f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyContentFormat.json @@ -0,0 +1,22 @@ +{ + "name": "PolicyContentFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "RawxmlNegativelink", + "value": "rawxml-link" + }, + { + "key": "Xml", + "value": "xml" + }, + { + "key": "XmlNegativelink", + "value": "xml-link" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyExportFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyExportFormat.json new file mode 100644 index 00000000000..21d38c5082c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Constant-PolicyExportFormat.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyExportFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContract.json new file mode 100644 index 00000000000..7ba335fd78d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContractProperties.json new file mode 100644 index 00000000000..fa677e5cc12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Model-PolicyContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..6279959e316 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Delete.json new file mode 100644 index 00000000000..e3ab768071d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Get.json new file mode 100644 index 00000000000..ecd96e6b74c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-Get.json @@ -0,0 +1,27 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-GetEntityTag.json new file mode 100644 index 00000000000..29cf1814497 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ProductId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-ListByProduct.json new file mode 100644 index 00000000000..663346742e7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-ListByProduct.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyCreateOrUpdate.json new file mode 100644 index 00000000000..842b79979ea --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyCreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "WorkspaceProductPolicyCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceProductId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyDelete.json new file mode 100644 index 00000000000..4f022f76153 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyDelete.json @@ -0,0 +1,24 @@ +{ + "name": "WorkspaceProductPolicyDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceProductId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGet.json new file mode 100644 index 00000000000..a58daef8abb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGet.json @@ -0,0 +1,27 @@ +{ + "name": "WorkspaceProductPolicyGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "WorkspaceProductId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGetEntityTag.json new file mode 100644 index 00000000000..7094cb0286b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyGetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceProductPolicyGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceProductId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyListByProduct.json new file mode 100644 index 00000000000..707dec71efe --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/Operation-WorkspaceProductPolicyListByProduct.json @@ -0,0 +1,16 @@ +{ + "name": "WorkspaceProductPolicyListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceProductId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-WorkspaceProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-WorkspaceProductId.json new file mode 100644 index 00000000000..efb06e18d99 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductPolicy/ResourceId-WorkspaceProductId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Constant-SubscriptionState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Constant-SubscriptionState.json new file mode 100644 index 00000000000..e3291ac36a6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Constant-SubscriptionState.json @@ -0,0 +1,30 @@ +{ + "name": "SubscriptionState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "active" + }, + { + "key": "Cancelled", + "value": "cancelled" + }, + { + "key": "Expired", + "value": "expired" + }, + { + "key": "Rejected", + "value": "rejected" + }, + { + "key": "Submitted", + "value": "submitted" + }, + { + "key": "Suspended", + "value": "suspended" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContract.json new file mode 100644 index 00000000000..38ffae6fc30 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContract.json @@ -0,0 +1,57 @@ +{ + "name": "SubscriptionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContractProperties.json new file mode 100644 index 00000000000..e4f96492ff4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Model-SubscriptionContractProperties.json @@ -0,0 +1,179 @@ +{ + "name": "SubscriptionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowTracing", + "name": "AllowTracing", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDate", + "name": "CreatedDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "endDate", + "name": "EndDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "notificationDate", + "name": "NotificationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ownerId", + "name": "OwnerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "startDate", + "name": "StartDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "stateComment", + "name": "StateComment", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Operation-List.json new file mode 100644 index 00000000000..3aacb3c88a6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/Operation-List.json @@ -0,0 +1,48 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + }, + "uriSuffix": "/subscriptions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductSubscription/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContract.json new file mode 100644 index 00000000000..974044504c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContractProperties.json new file mode 100644 index 00000000000..afad7b20d3d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Model-TagContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "TagContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagAssignToProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagAssignToProduct.json new file mode 100644 index 00000000000..2d14040bcac --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagAssignToProduct.json @@ -0,0 +1,15 @@ +{ + "name": "TagAssignToProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ProductTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagDetachFromProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagDetachFromProduct.json new file mode 100644 index 00000000000..51c3309290e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagDetachFromProduct.json @@ -0,0 +1,11 @@ +{ + "name": "TagDetachFromProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ProductTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetByProduct.json new file mode 100644 index 00000000000..45858010b24 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetByProduct.json @@ -0,0 +1,14 @@ +{ + "name": "TagGetByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProductTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetEntityStateByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetEntityStateByProduct.json new file mode 100644 index 00000000000..4dde0f2acda --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagGetEntityStateByProduct.json @@ -0,0 +1,10 @@ +{ + "name": "TagGetEntityStateByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ProductTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagListByProduct.json new file mode 100644 index 00000000000..503a12ad149 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/Operation-TagListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "TagListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + }, + "uriSuffix": "/tags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductTagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductTagId.json new file mode 100644 index 00000000000..0647c11362e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductTag/ResourceId-ProductTagId.json @@ -0,0 +1,61 @@ +{ + "name": "ProductTagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContract.json new file mode 100644 index 00000000000..7e60f3338f5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContract.json @@ -0,0 +1,57 @@ +{ + "name": "WikiContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "WikiContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContractProperties.json new file mode 100644 index 00000000000..e3994f2474a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiContractProperties.json @@ -0,0 +1,22 @@ +{ + "name": "WikiContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "documents", + "name": "Documents", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WikiDocumentationContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiDocumentationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiDocumentationContract.json new file mode 100644 index 00000000000..b68a9aca28b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiDocumentationContract.json @@ -0,0 +1,18 @@ +{ + "name": "WikiDocumentationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "documentationId", + "name": "DocumentationId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiUpdateContract.json new file mode 100644 index 00000000000..51a3e473435 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Model-WikiUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "WikiUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "WikiContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..fb529d1b217 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "requestObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Delete.json new file mode 100644 index 00000000000..c3a2d61d84c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Get.json new file mode 100644 index 00000000000..44ece7d9546 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Get.json @@ -0,0 +1,15 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-GetEntityTag.json new file mode 100644 index 00000000000..13cbd620e42 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ProductId", + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-List.json new file mode 100644 index 00000000000..1b3125c0eb6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-List.json @@ -0,0 +1,48 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Update.json new file mode 100644 index 00000000000..33c79d0f0b5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/Operation-Update.json @@ -0,0 +1,31 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ProductId", + "requestObject": { + "type": "Reference", + "referenceName": "WikiUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "WikiContract" + }, + "uriSuffix": "/wikis/default" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/ResourceId-ProductId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/ResourceId-ProductId.json new file mode 100644 index 00000000000..8f0b9c0de98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductWiki/ResourceId-ProductId.json @@ -0,0 +1,52 @@ +{ + "name": "ProductId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticProducts", + "type": "Static", + "value": "products" + }, + { + "name": "productId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ApiType.json new file mode 100644 index 00000000000..efb64db773a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ApiType.json @@ -0,0 +1,30 @@ +{ + "name": "ApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-BearerTokenSendingMethods.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-BearerTokenSendingMethods.json new file mode 100644 index 00000000000..f42ecfe32b4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-BearerTokenSendingMethods.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethods", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ProductState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ProductState.json new file mode 100644 index 00000000000..e205639ffd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-ProductState.json @@ -0,0 +1,14 @@ +{ + "name": "ProductState", + "type": "String", + "values": [ + { + "key": "NotPublished", + "value": "notPublished" + }, + { + "key": "Published", + "value": "published" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-Protocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-Protocol.json new file mode 100644 index 00000000000..3c4dea1da2d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Constant-Protocol.json @@ -0,0 +1,22 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "HTTPS", + "value": "https" + }, + { + "key": "Ws", + "value": "ws" + }, + { + "key": "Wss", + "value": "wss" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiContactInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiContactInformation.json new file mode 100644 index 00000000000..d6c9e910e4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiContactInformation.json @@ -0,0 +1,44 @@ +{ + "name": "ApiContactInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiLicenseInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiLicenseInformation.json new file mode 100644 index 00000000000..c1d5c9a227a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiLicenseInformation.json @@ -0,0 +1,31 @@ +{ + "name": "ApiLicenseInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiTagResourceContractProperties.json new file mode 100644 index 00000000000..726ace36bee --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ApiTagResourceContractProperties.json @@ -0,0 +1,269 @@ +{ + "name": "ApiTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-AuthenticationSettingsContract.json new file mode 100644 index 00000000000..eff9940699c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-AuthenticationSettingsContract.json @@ -0,0 +1,65 @@ +{ + "name": "AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2", + "name": "OAuth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2AuthenticationSettings", + "name": "OAuth2AuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openid", + "name": "Openid", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidAuthenticationSettings", + "name": "OpenidAuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OAuth2AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OAuth2AuthenticationSettingsContract.json new file mode 100644 index 00000000000..a535d1fc2aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OAuth2AuthenticationSettingsContract.json @@ -0,0 +1,31 @@ +{ + "name": "OAuth2AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationServerId", + "name": "AuthorizationServerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OpenIdAuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OpenIdAuthenticationSettingsContract.json new file mode 100644 index 00000000000..e7f51ef8de5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OpenIdAuthenticationSettingsContract.json @@ -0,0 +1,35 @@ +{ + "name": "OpenIdAuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethods" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidProviderId", + "name": "OpenidProviderId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OperationTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OperationTagResourceContractProperties.json new file mode 100644 index 00000000000..a5035ff0ad3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-OperationTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "OperationTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiName", + "name": "ApiName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlTemplate", + "name": "UrlTemplate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ProductTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ProductTagResourceContractProperties.json new file mode 100644 index 00000000000..a74ee909567 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-ProductTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "ProductTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "approvalRequired", + "name": "ApprovalRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionsLimit", + "name": "SubscriptionsLimit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "terms", + "name": "Terms", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-SubscriptionKeyParameterNamesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-SubscriptionKeyParameterNamesContract.json new file mode 100644 index 00000000000..039a61eafd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-SubscriptionKeyParameterNamesContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeyParameterNamesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagResourceContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagResourceContract.json new file mode 100644 index 00000000000..fe01e7f8413 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagResourceContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagResourceContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "api", + "name": "Api", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operation", + "name": "Operation", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "product", + "name": "Product", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tag", + "name": "Tag", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagTagResourceContractProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagTagResourceContractProperties.json new file mode 100644 index 00000000000..1803cec77bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Model-TagTagResourceContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "TagTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Operation-ProductListByTags.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Operation-ProductListByTags.json new file mode 100644 index 00000000000..1c423b081d6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/Operation-ProductListByTags.json @@ -0,0 +1,58 @@ +{ + "name": "ProductListByTags", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "includeNotTaggedProducts", + "required": false, + "field": "IncludeNotTaggedProducts", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "TagResourceContract" + }, + "uriSuffix": "/productsByTags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/ProductsByTag/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterCollection.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterCollection.json new file mode 100644 index 00000000000..721f2fd85cc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterCollection.json @@ -0,0 +1,48 @@ +{ + "name": "QuotaCounterCollection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "count", + "name": "Count", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nextLink", + "name": "NextLink", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "QuotaCounterContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterContract.json new file mode 100644 index 00000000000..4ebf1c6586b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterContract.json @@ -0,0 +1,72 @@ +{ + "name": "QuotaCounterContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "counterKey", + "name": "CounterKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "periodEndTime", + "name": "PeriodEndTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "periodKey", + "name": "PeriodKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "periodStartTime", + "name": "PeriodStartTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "Reference", + "referenceName": "QuotaCounterValueContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueContractProperties.json new file mode 100644 index 00000000000..9af13ca9a13 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "QuotaCounterValueContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "callsCount", + "name": "CallsCount", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "kbTransferred", + "name": "KbTransferred", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueUpdateContract.json new file mode 100644 index 00000000000..ba8c96a198e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Model-QuotaCounterValueUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "QuotaCounterValueUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "QuotaCounterValueContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-ListByService.json new file mode 100644 index 00000000000..e98fb8f3123 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-ListByService.json @@ -0,0 +1,15 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "QuotaId", + "responseObject": { + "type": "Reference", + "referenceName": "QuotaCounterContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-Update.json new file mode 100644 index 00000000000..5b8f0e7e2eb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/Operation-Update.json @@ -0,0 +1,18 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "resourceIdName": "QuotaId", + "requestObject": { + "type": "Reference", + "referenceName": "QuotaCounterValueUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "QuotaCounterCollection" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/ResourceId-QuotaId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/ResourceId-QuotaId.json new file mode 100644 index 00000000000..c6cbc86eb57 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByCounterKeys/ResourceId-QuotaId.json @@ -0,0 +1,52 @@ +{ + "name": "QuotaId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticQuotas", + "type": "Static", + "value": "quotas" + }, + { + "name": "quotaCounterKey", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterContract.json new file mode 100644 index 00000000000..4ebf1c6586b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterContract.json @@ -0,0 +1,72 @@ +{ + "name": "QuotaCounterContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "counterKey", + "name": "CounterKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "periodEndTime", + "name": "PeriodEndTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "periodKey", + "name": "PeriodKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "periodStartTime", + "name": "PeriodStartTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "Reference", + "referenceName": "QuotaCounterValueContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueContractProperties.json new file mode 100644 index 00000000000..9af13ca9a13 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "QuotaCounterValueContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "callsCount", + "name": "CallsCount", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "kbTransferred", + "name": "KbTransferred", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueUpdateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueUpdateContract.json new file mode 100644 index 00000000000..ba8c96a198e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Model-QuotaCounterValueUpdateContract.json @@ -0,0 +1,18 @@ +{ + "name": "QuotaCounterValueUpdateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "QuotaCounterValueContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Get.json new file mode 100644 index 00000000000..00e14254fdb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PeriodId", + "responseObject": { + "type": "Reference", + "referenceName": "QuotaCounterContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Update.json new file mode 100644 index 00000000000..9392ac93994 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/Operation-Update.json @@ -0,0 +1,18 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "resourceIdName": "PeriodId", + "requestObject": { + "type": "Reference", + "referenceName": "QuotaCounterValueUpdateContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "QuotaCounterContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/ResourceId-PeriodId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/ResourceId-PeriodId.json new file mode 100644 index 00000000000..7b75855653b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/QuotaByPeriodKeys/ResourceId-PeriodId.json @@ -0,0 +1,61 @@ +{ + "name": "PeriodId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticQuotas", + "type": "Static", + "value": "quotas" + }, + { + "name": "quotaCounterKey", + "type": "UserSpecified" + }, + { + "name": "staticPeriods", + "type": "Static", + "value": "periods" + }, + { + "name": "quotaPeriodKey", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Model-RegionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Model-RegionContract.json new file mode 100644 index 00000000000..b4dedaf1720 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Model-RegionContract.json @@ -0,0 +1,44 @@ +{ + "name": "RegionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isDeleted", + "name": "IsDeleted", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isMasterRegion", + "name": "IsMasterRegion", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Operation-ListByService.json new file mode 100644 index 00000000000..47b20a3aa5e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/Operation-ListByService.json @@ -0,0 +1,16 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "RegionContract" + }, + "uriSuffix": "/regions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Region/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-ReportRecordContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-ReportRecordContract.json new file mode 100644 index 00000000000..da10e651490 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-ReportRecordContract.json @@ -0,0 +1,344 @@ +{ + "name": "ReportRecordContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRegion", + "name": "ApiRegion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiTimeAvg", + "name": "ApiTimeAvg", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiTimeMax", + "name": "ApiTimeMax", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiTimeMin", + "name": "ApiTimeMin", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bandwidth", + "name": "Bandwidth", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheHitCount", + "name": "CacheHitCount", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheMissCount", + "name": "CacheMissCount", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "callCountBlocked", + "name": "CallCountBlocked", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "callCountFailed", + "name": "CallCountFailed", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "callCountOther", + "name": "CallCountOther", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "callCountSuccess", + "name": "CallCountSuccess", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "callCountTotal", + "name": "CallCountTotal", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "country", + "name": "Country", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "interval", + "name": "Interval", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operationId", + "name": "OperationId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "productId", + "name": "ProductId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "region", + "name": "Region", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceTimeAvg", + "name": "ServiceTimeAvg", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceTimeMax", + "name": "ServiceTimeMax", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceTimeMin", + "name": "ServiceTimeMin", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionId", + "name": "SubscriptionId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "timestamp", + "name": "Timestamp", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userId", + "name": "UserId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zip", + "name": "Zip", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportCollection.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportCollection.json new file mode 100644 index 00000000000..6c1eb816895 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportCollection.json @@ -0,0 +1,35 @@ +{ + "name": "RequestReportCollection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "count", + "name": "Count", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RequestReportRecordContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportRecordContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportRecordContract.json new file mode 100644 index 00000000000..96f3e9a2b28 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Model-RequestReportRecordContract.json @@ -0,0 +1,240 @@ +{ + "name": "RequestReportRecordContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRegion", + "name": "ApiRegion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiTime", + "name": "ApiTime", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backendResponseCode", + "name": "BackendResponseCode", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cache", + "name": "Cache", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ipAddress", + "name": "IPAddress", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operationId", + "name": "OperationId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "productId", + "name": "ProductId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requestId", + "name": "RequestId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requestSize", + "name": "RequestSize", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseCode", + "name": "ResponseCode", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseSize", + "name": "ResponseSize", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceTime", + "name": "ServiceTime", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionId", + "name": "SubscriptionId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "timestamp", + "name": "Timestamp", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userId", + "name": "UserId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByApi.json new file mode 100644 index 00000000000..0e60fc8f3b6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByApi.json @@ -0,0 +1,58 @@ +{ + "name": "ListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ReportRecordContract" + }, + "uriSuffix": "/reports/byApi" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByGeo.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByGeo.json new file mode 100644 index 00000000000..79a4df88ace --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByGeo.json @@ -0,0 +1,48 @@ +{ + "name": "ListByGeo", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ReportRecordContract" + }, + "uriSuffix": "/reports/byGeo" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByOperation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByOperation.json new file mode 100644 index 00000000000..fb9bcf20f3e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByOperation.json @@ -0,0 +1,58 @@ +{ + "name": "ListByOperation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ReportRecordContract" + }, + "uriSuffix": "/reports/byOperation" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByProduct.json new file mode 100644 index 00000000000..1092617ad75 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByProduct.json @@ -0,0 +1,58 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ReportRecordContract" + }, + "uriSuffix": "/reports/byProduct" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByRequest.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByRequest.json new file mode 100644 index 00000000000..694ea7ef776 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByRequest.json @@ -0,0 +1,47 @@ +{ + "name": "ListByRequest", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "RequestReportCollection" + }, + "uriSuffix": "/reports/byRequest" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListBySubscription.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListBySubscription.json new file mode 100644 index 00000000000..73364058cbc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListBySubscription.json @@ -0,0 +1,58 @@ +{ + "name": "ListBySubscription", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ReportRecordContract" + }, + "uriSuffix": "/reports/bySubscription" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByTime.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByTime.json new file mode 100644 index 00000000000..a4c8d48a959 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByTime.json @@ -0,0 +1,68 @@ +{ + "name": "ListByTime", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "interval", + "required": true, + "field": "Interval", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ReportRecordContract" + }, + "uriSuffix": "/reports/byTime" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByUser.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByUser.json new file mode 100644 index 00000000000..787e704954f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/Operation-ListByUser.json @@ -0,0 +1,58 @@ +{ + "name": "ListByUser", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": false, + "queryString": "$filter", + "required": true, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$orderby", + "required": false, + "field": "Orderby", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "ReportRecordContract" + }, + "uriSuffix": "/reports/byUser" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Reports/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Constant-SchemaType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Constant-SchemaType.json new file mode 100644 index 00000000000..80a11dfdae7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Constant-SchemaType.json @@ -0,0 +1,14 @@ +{ + "name": "SchemaType", + "type": "String", + "values": [ + { + "key": "Json", + "value": "json" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContract.json new file mode 100644 index 00000000000..1ffc69fc0e9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContract.json @@ -0,0 +1,57 @@ +{ + "name": "GlobalSchemaContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GlobalSchemaContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContractProperties.json new file mode 100644 index 00000000000..c3d3a94af55 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Model-GlobalSchemaContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "GlobalSchemaContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "document", + "name": "Document", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "schemaType", + "name": "SchemaType", + "objectDefinition": { + "type": "Reference", + "referenceName": "SchemaType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaCreateOrUpdate.json new file mode 100644 index 00000000000..a3dd8429196 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "GlobalSchemaCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "SchemaId", + "requestObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaDelete.json new file mode 100644 index 00000000000..3a741d98def --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaDelete.json @@ -0,0 +1,23 @@ +{ + "name": "GlobalSchemaDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "SchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGet.json new file mode 100644 index 00000000000..41b9b5b420e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGet.json @@ -0,0 +1,14 @@ +{ + "name": "GlobalSchemaGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SchemaId", + "responseObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGetEntityTag.json new file mode 100644 index 00000000000..14bc21387d9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GlobalSchemaGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "SchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaListByService.json new file mode 100644 index 00000000000..57debe0aef8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-GlobalSchemaListByService.json @@ -0,0 +1,48 @@ +{ + "name": "GlobalSchemaListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + }, + "uriSuffix": "/schemas" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaCreateOrUpdate.json new file mode 100644 index 00000000000..742da431e3d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceGlobalSchemaCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceSchemaId", + "requestObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaDelete.json new file mode 100644 index 00000000000..02f97b22bab --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceGlobalSchemaDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceSchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGet.json new file mode 100644 index 00000000000..832a268b645 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceGlobalSchemaGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceSchemaId", + "responseObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGetEntityTag.json new file mode 100644 index 00000000000..7652f5180d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceGlobalSchemaGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceSchemaId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaListByService.json new file mode 100644 index 00000000000..29bb1fe19b3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/Operation-WorkspaceGlobalSchemaListByService.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceGlobalSchemaListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "GlobalSchemaContract" + }, + "uriSuffix": "/schemas" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-SchemaId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-SchemaId.json new file mode 100644 index 00000000000..0bb741368e6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-SchemaId.json @@ -0,0 +1,52 @@ +{ + "name": "SchemaId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/schemas/{schemaId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticSchemas", + "type": "Static", + "value": "schemas" + }, + { + "name": "schemaId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceSchemaId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceSchemaId.json new file mode 100644 index 00000000000..bb402600a5f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Schema/ResourceId-WorkspaceSchemaId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceSchemaId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/schemas/{schemaId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticSchemas", + "type": "Static", + "value": "schemas" + }, + { + "name": "schemaId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettingProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettingProperties.json new file mode 100644 index 00000000000..0fd8aad5273 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettingProperties.json @@ -0,0 +1,18 @@ +{ + "name": "PortalSigninSettingProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettings.json new file mode 100644 index 00000000000..2612515e119 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Model-PortalSigninSettings.json @@ -0,0 +1,57 @@ +{ + "name": "PortalSigninSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalSigninSettingProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..be7b5505792 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalSigninSettings" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PortalSigninSettings" + }, + "uriSuffix": "/portalsettings/signin" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Get.json new file mode 100644 index 00000000000..641f88fb72d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Get.json @@ -0,0 +1,15 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalSigninSettings" + }, + "uriSuffix": "/portalsettings/signin" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-GetEntityTag.json new file mode 100644 index 00000000000..50441ea2602 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ServiceId", + "uriSuffix": "/portalsettings/signin" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Update.json new file mode 100644 index 00000000000..766226c717e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/Operation-Update.json @@ -0,0 +1,27 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalSigninSettings" + }, + "uriSuffix": "/portalsettings/signin" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignInSettings/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettings.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettings.json new file mode 100644 index 00000000000..4038c62e766 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettings.json @@ -0,0 +1,57 @@ +{ + "name": "PortalSignupSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PortalSignupSettingsProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettingsProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettingsProperties.json new file mode 100644 index 00000000000..f4a2ae517dc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-PortalSignupSettingsProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PortalSignupSettingsProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfService", + "name": "TermsOfService", + "objectDefinition": { + "type": "Reference", + "referenceName": "TermsOfServiceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-TermsOfServiceProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-TermsOfServiceProperties.json new file mode 100644 index 00000000000..5b7008ebdd6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Model-TermsOfServiceProperties.json @@ -0,0 +1,44 @@ +{ + "name": "TermsOfServiceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "consentRequired", + "name": "ConsentRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "text", + "name": "Text", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..1a833a039ec --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalSignupSettings" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PortalSignupSettings" + }, + "uriSuffix": "/portalsettings/signup" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Get.json new file mode 100644 index 00000000000..f3abd5fe9e9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Get.json @@ -0,0 +1,15 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "PortalSignupSettings" + }, + "uriSuffix": "/portalsettings/signup" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-GetEntityTag.json new file mode 100644 index 00000000000..31df59a308c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "ServiceId", + "uriSuffix": "/portalsettings/signup" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Update.json new file mode 100644 index 00000000000..9cb3983b1fd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/Operation-Update.json @@ -0,0 +1,27 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "PortalSignupSettings" + }, + "uriSuffix": "/portalsettings/signup" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/SignUpSettings/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuCapacityScaleType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuCapacityScaleType.json new file mode 100644 index 00000000000..6ab01d1505d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuCapacityScaleType.json @@ -0,0 +1,18 @@ +{ + "name": "ApiManagementSkuCapacityScaleType", + "type": "String", + "values": [ + { + "key": "Automatic", + "value": "Automatic" + }, + { + "key": "Manual", + "value": "Manual" + }, + { + "key": "None", + "value": "None" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsReasonCode.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsReasonCode.json new file mode 100644 index 00000000000..a1466afa1bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsReasonCode.json @@ -0,0 +1,14 @@ +{ + "name": "ApiManagementSkuRestrictionsReasonCode", + "type": "String", + "values": [ + { + "key": "NotAvailableForSubscription", + "value": "NotAvailableForSubscription" + }, + { + "key": "QuotaId", + "value": "QuotaId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsType.json new file mode 100644 index 00000000000..7ffbb851c0f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Constant-ApiManagementSkuRestrictionsType.json @@ -0,0 +1,14 @@ +{ + "name": "ApiManagementSkuRestrictionsType", + "type": "String", + "values": [ + { + "key": "Location", + "value": "Location" + }, + { + "key": "Zone", + "value": "Zone" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSku.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSku.json new file mode 100644 index 00000000000..943f1527301 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSku.json @@ -0,0 +1,198 @@ +{ + "name": "ApiManagementSku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersions", + "name": "ApiVersions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capabilities", + "name": "Capabilities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ApiManagementSkuCapabilities" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementSkuCapacity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "costs", + "name": "Costs", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ApiManagementSkuCosts" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "family", + "name": "Family", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locationInfo", + "name": "LocationInfo", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ApiManagementSkuLocationInfo" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locations", + "name": "Locations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restrictions", + "name": "Restrictions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ApiManagementSkuRestrictions" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "size", + "name": "Size", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tier", + "name": "Tier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapabilities.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapabilities.json new file mode 100644 index 00000000000..ff8aaaed4fd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapabilities.json @@ -0,0 +1,31 @@ +{ + "name": "ApiManagementSkuCapabilities", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapacity.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapacity.json new file mode 100644 index 00000000000..10dc2cc2e55 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCapacity.json @@ -0,0 +1,57 @@ +{ + "name": "ApiManagementSkuCapacity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "default", + "name": "Default", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maximum", + "name": "Maximum", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minimum", + "name": "Minimum", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scaleType", + "name": "ScaleType", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementSkuCapacityScaleType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCosts.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCosts.json new file mode 100644 index 00000000000..ac93b10cb6e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuCosts.json @@ -0,0 +1,44 @@ +{ + "name": "ApiManagementSkuCosts", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "extendedUnit", + "name": "ExtendedUnit", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "meterID", + "name": "MeterID", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "quantity", + "name": "Quantity", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuLocationInfo.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuLocationInfo.json new file mode 100644 index 00000000000..bb59d420276 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuLocationInfo.json @@ -0,0 +1,48 @@ +{ + "name": "ApiManagementSkuLocationInfo", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zoneDetails", + "name": "ZoneDetails", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ApiManagementSkuZoneDetails" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictionInfo.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictionInfo.json new file mode 100644 index 00000000000..d18f5992e55 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictionInfo.json @@ -0,0 +1,35 @@ +{ + "name": "ApiManagementSkuRestrictionInfo", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locations", + "name": "Locations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictions.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictions.json new file mode 100644 index 00000000000..867a175b9cd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuRestrictions.json @@ -0,0 +1,61 @@ +{ + "name": "ApiManagementSkuRestrictions", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reasonCode", + "name": "ReasonCode", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementSkuRestrictionsReasonCode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restrictionInfo", + "name": "RestrictionInfo", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementSkuRestrictionInfo" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiManagementSkuRestrictionsType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "values", + "name": "Values", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuZoneDetails.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuZoneDetails.json new file mode 100644 index 00000000000..2dfed43597c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Model-ApiManagementSkuZoneDetails.json @@ -0,0 +1,39 @@ +{ + "name": "ApiManagementSkuZoneDetails", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capabilities", + "name": "Capabilities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ApiManagementSkuCapabilities" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Operation-ApiManagementSkusList.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Operation-ApiManagementSkusList.json new file mode 100644 index 00000000000..56b1b08c556 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/Operation-ApiManagementSkusList.json @@ -0,0 +1,16 @@ +{ + "name": "ApiManagementSkusList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "ApiManagementSku" + }, + "uriSuffix": "/providers/Microsoft.ApiManagement/skus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Skus/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-AppType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-AppType.json new file mode 100644 index 00000000000..3d67d92146c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-AppType.json @@ -0,0 +1,14 @@ +{ + "name": "AppType", + "type": "String", + "values": [ + { + "key": "DeveloperPortal", + "value": "developerPortal" + }, + { + "key": "Portal", + "value": "portal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-SubscriptionState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-SubscriptionState.json new file mode 100644 index 00000000000..e3291ac36a6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Constant-SubscriptionState.json @@ -0,0 +1,30 @@ +{ + "name": "SubscriptionState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "active" + }, + { + "key": "Cancelled", + "value": "cancelled" + }, + { + "key": "Expired", + "value": "expired" + }, + { + "key": "Rejected", + "value": "rejected" + }, + { + "key": "Submitted", + "value": "submitted" + }, + { + "key": "Suspended", + "value": "suspended" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContract.json new file mode 100644 index 00000000000..38ffae6fc30 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContract.json @@ -0,0 +1,57 @@ +{ + "name": "SubscriptionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContractProperties.json new file mode 100644 index 00000000000..e4f96492ff4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionContractProperties.json @@ -0,0 +1,179 @@ +{ + "name": "SubscriptionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowTracing", + "name": "AllowTracing", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDate", + "name": "CreatedDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "endDate", + "name": "EndDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "notificationDate", + "name": "NotificationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ownerId", + "name": "OwnerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "startDate", + "name": "StartDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "stateComment", + "name": "StateComment", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameterProperties.json new file mode 100644 index 00000000000..59f28c4f885 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameterProperties.json @@ -0,0 +1,96 @@ +{ + "name": "SubscriptionCreateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowTracing", + "name": "AllowTracing", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ownerId", + "name": "OwnerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameters.json new file mode 100644 index 00000000000..7359dfe5267 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionCreateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "SubscriptionCreateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionCreateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionKeysContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionKeysContract.json new file mode 100644 index 00000000000..4b764fbd20b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionKeysContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeysContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameterProperties.json new file mode 100644 index 00000000000..7190c2e012c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameterProperties.json @@ -0,0 +1,123 @@ +{ + "name": "SubscriptionUpdateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowTracing", + "name": "AllowTracing", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ownerId", + "name": "OwnerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "stateComment", + "name": "StateComment", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameters.json new file mode 100644 index 00000000000..dec93b042b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Model-SubscriptionUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "SubscriptionUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionUpdateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..b996385912d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "optional": true, + "queryString": "appType", + "required": false, + "field": "AppType", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "AppType" + } + }, + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "notify", + "required": false, + "field": "Notify", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + } + ], + "resourceIdName": "Subscriptions2Id", + "requestObject": { + "type": "Reference", + "referenceName": "SubscriptionCreateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Delete.json new file mode 100644 index 00000000000..80d181678f4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "Subscriptions2Id" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Get.json new file mode 100644 index 00000000000..25209df11d7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "Subscriptions2Id", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-GetEntityTag.json new file mode 100644 index 00000000000..351c3bcaefd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "Subscriptions2Id" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-List.json new file mode 100644 index 00000000000..b385c2232fd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-List.json @@ -0,0 +1,48 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + }, + "uriSuffix": "/subscriptions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-ListSecrets.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-ListSecrets.json new file mode 100644 index 00000000000..5f7a3d971c4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-ListSecrets.json @@ -0,0 +1,15 @@ +{ + "name": "ListSecrets", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "Subscriptions2Id", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionKeysContract" + }, + "uriSuffix": "/listSecrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegeneratePrimaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegeneratePrimaryKey.json new file mode 100644 index 00000000000..3266a44820e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegeneratePrimaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "RegeneratePrimaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "Subscriptions2Id", + "uriSuffix": "/regeneratePrimaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegenerateSecondaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegenerateSecondaryKey.json new file mode 100644 index 00000000000..2d0b33c54c4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-RegenerateSecondaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "RegenerateSecondaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "Subscriptions2Id", + "uriSuffix": "/regenerateSecondaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Update.json new file mode 100644 index 00000000000..77a271f8ef7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-Update.json @@ -0,0 +1,50 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "optional": true, + "queryString": "appType", + "required": false, + "field": "AppType", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "AppType" + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "notify", + "required": false, + "field": "Notify", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + } + ], + "resourceIdName": "Subscriptions2Id", + "requestObject": { + "type": "Reference", + "referenceName": "SubscriptionUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-UserSubscriptionGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-UserSubscriptionGet.json new file mode 100644 index 00000000000..32aab7aaaa9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-UserSubscriptionGet.json @@ -0,0 +1,14 @@ +{ + "name": "UserSubscriptionGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "UserSubscriptions2Id", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionCreateOrUpdate.json new file mode 100644 index 00000000000..cd8995a8d31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionCreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "name": "WorkspaceSubscriptionCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "optional": true, + "queryString": "appType", + "required": false, + "field": "AppType", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "AppType" + } + }, + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "notify", + "required": false, + "field": "Notify", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceSubscriptions2Id", + "requestObject": { + "type": "Reference", + "referenceName": "SubscriptionCreateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionDelete.json new file mode 100644 index 00000000000..623c8cb79af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceSubscriptionDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceSubscriptions2Id" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGet.json new file mode 100644 index 00000000000..7b3bed959d8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceSubscriptionGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceSubscriptions2Id", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGetEntityTag.json new file mode 100644 index 00000000000..5607824e3fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionGetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceSubscriptionGetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceSubscriptions2Id" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionList.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionList.json new file mode 100644 index 00000000000..2a581ecdfbb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionList.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceSubscriptionList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + }, + "uriSuffix": "/subscriptions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionListSecrets.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionListSecrets.json new file mode 100644 index 00000000000..0c63c190ac2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionListSecrets.json @@ -0,0 +1,15 @@ +{ + "name": "WorkspaceSubscriptionListSecrets", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "WorkspaceSubscriptions2Id", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionKeysContract" + }, + "uriSuffix": "/listSecrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegeneratePrimaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegeneratePrimaryKey.json new file mode 100644 index 00000000000..916b822ac6c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegeneratePrimaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceSubscriptionRegeneratePrimaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "WorkspaceSubscriptions2Id", + "uriSuffix": "/regeneratePrimaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegenerateSecondaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegenerateSecondaryKey.json new file mode 100644 index 00000000000..9dea21bcc68 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionRegenerateSecondaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceSubscriptionRegenerateSecondaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "WorkspaceSubscriptions2Id", + "uriSuffix": "/regenerateSecondaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionUpdate.json new file mode 100644 index 00000000000..02d0795ee6a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/Operation-WorkspaceSubscriptionUpdate.json @@ -0,0 +1,50 @@ +{ + "name": "WorkspaceSubscriptionUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "optional": true, + "queryString": "appType", + "required": false, + "field": "AppType", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "AppType" + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "notify", + "required": false, + "field": "Notify", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceSubscriptions2Id", + "requestObject": { + "type": "Reference", + "referenceName": "SubscriptionUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-Subscriptions2Id.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-Subscriptions2Id.json new file mode 100644 index 00000000000..b5b92522bbd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-Subscriptions2Id.json @@ -0,0 +1,52 @@ +{ + "name": "Subscriptions2Id", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{subscriptionName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticSubscriptions2", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-UserSubscriptions2Id.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-UserSubscriptions2Id.json new file mode 100644 index 00000000000..4ba4515703b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-UserSubscriptions2Id.json @@ -0,0 +1,61 @@ +{ + "name": "UserSubscriptions2Id", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions/{subscriptionName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + }, + { + "name": "staticSubscriptions2", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceSubscriptions2Id.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceSubscriptions2Id.json new file mode 100644 index 00000000000..67ac6dbe86d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Subscription/ResourceId-WorkspaceSubscriptions2Id.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceSubscriptions2Id", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/subscriptions/{subscriptionName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticSubscriptions2", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContract.json new file mode 100644 index 00000000000..974044504c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContractProperties.json new file mode 100644 index 00000000000..afad7b20d3d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "TagContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagCreateUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagCreateUpdateParameters.json new file mode 100644 index 00000000000..b9247128437 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Model-TagCreateUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "TagCreateUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..986b9027f67 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TagId", + "requestObject": { + "type": "Reference", + "referenceName": "TagCreateUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Delete.json new file mode 100644 index 00000000000..a77383ab3bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Get.json new file mode 100644 index 00000000000..dd270153dee --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "TagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-GetEntityState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-GetEntityState.json new file mode 100644 index 00000000000..efddc69a50b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-GetEntityState.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityState", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "TagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-ListByService.json new file mode 100644 index 00000000000..26e087c445a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-ListByService.json @@ -0,0 +1,58 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "scope", + "required": false, + "field": "Scope", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + }, + "uriSuffix": "/tags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Update.json new file mode 100644 index 00000000000..3fcc7c1b455 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "TagId", + "requestObject": { + "type": "Reference", + "referenceName": "TagCreateUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagCreateOrUpdate.json new file mode 100644 index 00000000000..974c1650fd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagCreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceTagCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceTagId", + "requestObject": { + "type": "Reference", + "referenceName": "TagCreateUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagDelete.json new file mode 100644 index 00000000000..6034dcbd198 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagDelete.json @@ -0,0 +1,23 @@ +{ + "name": "WorkspaceTagDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGet.json new file mode 100644 index 00000000000..afa7483edb3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceTagGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGetEntityState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGetEntityState.json new file mode 100644 index 00000000000..47fb58989d8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagGetEntityState.json @@ -0,0 +1,10 @@ +{ + "name": "WorkspaceTagGetEntityState", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceTagId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagListByService.json new file mode 100644 index 00000000000..99f1f86aea0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagListByService.json @@ -0,0 +1,58 @@ +{ + "name": "WorkspaceTagListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "scope", + "required": false, + "field": "Scope", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + }, + "uriSuffix": "/tags" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagUpdate.json new file mode 100644 index 00000000000..08507a9d29b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/Operation-WorkspaceTagUpdate.json @@ -0,0 +1,30 @@ +{ + "name": "WorkspaceTagUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceTagId", + "requestObject": { + "type": "Reference", + "referenceName": "TagCreateUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-TagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-TagId.json new file mode 100644 index 00000000000..f60a7d50a84 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-TagId.json @@ -0,0 +1,52 @@ +{ + "name": "TagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceTagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceTagId.json new file mode 100644 index 00000000000..074c8a362c7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Tag/ResourceId-WorkspaceTagId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceTagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContract.json new file mode 100644 index 00000000000..8421e54a3b3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagApiLinkContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagApiLinkContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContractProperties.json new file mode 100644 index 00000000000..9a241c8e5b2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Model-TagApiLinkContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "TagApiLinkContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiId", + "name": "ApiId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..97c78ef5fda --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ApiLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Delete.json new file mode 100644 index 00000000000..06fb848a5ec --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ApiLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Get.json new file mode 100644 index 00000000000..7c3a7431996 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ApiLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-ListByProduct.json new file mode 100644 index 00000000000..353c3d0737a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-ListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "TagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + }, + "uriSuffix": "/apiLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkCreateOrUpdate.json new file mode 100644 index 00000000000..85623bdd5ef --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "WorkspaceTagApiLinkCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "TagApiLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkDelete.json new file mode 100644 index 00000000000..f3618837f3e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceTagApiLinkDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "TagApiLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkGet.json new file mode 100644 index 00000000000..49b3311782c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceTagApiLinkGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "TagApiLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkListByProduct.json new file mode 100644 index 00000000000..d48be07abb2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/Operation-WorkspaceTagApiLinkListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceTagApiLinkListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagApiLinkContract" + }, + "uriSuffix": "/apiLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-ApiLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-ApiLinkId.json new file mode 100644 index 00000000000..8303fac1fef --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-ApiLinkId.json @@ -0,0 +1,61 @@ +{ + "name": "ApiLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}/apiLinks/{apiLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + }, + { + "name": "staticApiLinks", + "type": "Static", + "value": "apiLinks" + }, + { + "name": "apiLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagApiLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagApiLinkId.json new file mode 100644 index 00000000000..63a9ff5a1e4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagApiLinkId.json @@ -0,0 +1,70 @@ +{ + "name": "TagApiLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/tags/{tagId}/apiLinks/{apiLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + }, + { + "name": "staticApiLinks", + "type": "Static", + "value": "apiLinks" + }, + { + "name": "apiLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagId.json new file mode 100644 index 00000000000..f60a7d50a84 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-TagId.json @@ -0,0 +1,52 @@ +{ + "name": "TagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-WorkspaceTagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-WorkspaceTagId.json new file mode 100644 index 00000000000..074c8a362c7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagApiLink/ResourceId-WorkspaceTagId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceTagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContract.json new file mode 100644 index 00000000000..38ad740d163 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagOperationLinkContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagOperationLinkContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContractProperties.json new file mode 100644 index 00000000000..5fa0eceded9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Model-TagOperationLinkContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "TagOperationLinkContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operationId", + "name": "OperationId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..fa1375cb5da --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "OperationLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Delete.json new file mode 100644 index 00000000000..b07f4352d00 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "OperationLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Get.json new file mode 100644 index 00000000000..87659bceb87 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OperationLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-ListByProduct.json new file mode 100644 index 00000000000..a45dc6db249 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-ListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "TagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + }, + "uriSuffix": "/operationLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkCreateOrUpdate.json new file mode 100644 index 00000000000..1daeba14769 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "WorkspaceTagOperationLinkCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "TagOperationLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkDelete.json new file mode 100644 index 00000000000..c38690aecd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceTagOperationLinkDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "TagOperationLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkGet.json new file mode 100644 index 00000000000..8e1e9a4e9d9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceTagOperationLinkGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "TagOperationLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkListByProduct.json new file mode 100644 index 00000000000..be9e7d3c0f0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/Operation-WorkspaceTagOperationLinkListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceTagOperationLinkListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagOperationLinkContract" + }, + "uriSuffix": "/operationLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-OperationLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-OperationLinkId.json new file mode 100644 index 00000000000..4e2f54fedd6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-OperationLinkId.json @@ -0,0 +1,61 @@ +{ + "name": "OperationLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}/operationLinks/{operationLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + }, + { + "name": "staticOperationLinks", + "type": "Static", + "value": "operationLinks" + }, + { + "name": "operationLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagId.json new file mode 100644 index 00000000000..f60a7d50a84 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagId.json @@ -0,0 +1,52 @@ +{ + "name": "TagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagOperationLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagOperationLinkId.json new file mode 100644 index 00000000000..8eaeec6988b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-TagOperationLinkId.json @@ -0,0 +1,70 @@ +{ + "name": "TagOperationLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/tags/{tagId}/operationLinks/{operationLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + }, + { + "name": "staticOperationLinks", + "type": "Static", + "value": "operationLinks" + }, + { + "name": "operationLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-WorkspaceTagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-WorkspaceTagId.json new file mode 100644 index 00000000000..074c8a362c7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagOperationLink/ResourceId-WorkspaceTagId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceTagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContract.json new file mode 100644 index 00000000000..eca041f8781 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagProductLinkContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagProductLinkContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContractProperties.json new file mode 100644 index 00000000000..2b31f4af468 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Model-TagProductLinkContractProperties.json @@ -0,0 +1,18 @@ +{ + "name": "TagProductLinkContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "productId", + "name": "ProductId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..8fa4968c200 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "ProductLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Delete.json new file mode 100644 index 00000000000..565ee4433bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "ProductLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Get.json new file mode 100644 index 00000000000..efffb46605f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProductLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-ListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-ListByProduct.json new file mode 100644 index 00000000000..584a40a0867 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-ListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "ListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "TagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + }, + "uriSuffix": "/productLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkCreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkCreateOrUpdate.json new file mode 100644 index 00000000000..4ddb1293867 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "WorkspaceTagProductLinkCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "TagProductLinkId", + "requestObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkDelete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkDelete.json new file mode 100644 index 00000000000..7d6d0aa07d4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkDelete.json @@ -0,0 +1,11 @@ +{ + "name": "WorkspaceTagProductLinkDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "TagProductLinkId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkGet.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkGet.json new file mode 100644 index 00000000000..75fbe13c043 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkGet.json @@ -0,0 +1,14 @@ +{ + "name": "WorkspaceTagProductLinkGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "TagProductLinkId", + "responseObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkListByProduct.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkListByProduct.json new file mode 100644 index 00000000000..35ed69ef13c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/Operation-WorkspaceTagProductLinkListByProduct.json @@ -0,0 +1,48 @@ +{ + "name": "WorkspaceTagProductLinkListByProduct", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceTagId", + "responseObject": { + "type": "Reference", + "referenceName": "TagProductLinkContract" + }, + "uriSuffix": "/productLinks" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-ProductLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-ProductLinkId.json new file mode 100644 index 00000000000..db0eb4824eb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-ProductLinkId.json @@ -0,0 +1,61 @@ +{ + "name": "ProductLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}/productLinks/{productLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + }, + { + "name": "staticProductLinks", + "type": "Static", + "value": "productLinks" + }, + { + "name": "productLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagId.json new file mode 100644 index 00000000000..f60a7d50a84 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagId.json @@ -0,0 +1,52 @@ +{ + "name": "TagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagProductLinkId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagProductLinkId.json new file mode 100644 index 00000000000..7c2ab31510d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-TagProductLinkId.json @@ -0,0 +1,70 @@ +{ + "name": "TagProductLinkId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/tags/{tagId}/productLinks/{productLinkId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + }, + { + "name": "staticProductLinks", + "type": "Static", + "value": "productLinks" + }, + { + "name": "productLinkId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-WorkspaceTagId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-WorkspaceTagId.json new file mode 100644 index 00000000000..074c8a362c7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagProductLink/ResourceId-WorkspaceTagId.json @@ -0,0 +1,61 @@ +{ + "name": "WorkspaceTagId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}/tags/{tagId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + }, + { + "name": "staticTags", + "type": "Static", + "value": "tags" + }, + { + "name": "tagId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ApiType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ApiType.json new file mode 100644 index 00000000000..efb64db773a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ApiType.json @@ -0,0 +1,30 @@ +{ + "name": "ApiType", + "type": "String", + "values": [ + { + "key": "Graphql", + "value": "graphql" + }, + { + "key": "Grpc", + "value": "grpc" + }, + { + "key": "HTTP", + "value": "http" + }, + { + "key": "Odata", + "value": "odata" + }, + { + "key": "Soap", + "value": "soap" + }, + { + "key": "Websocket", + "value": "websocket" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-BearerTokenSendingMethods.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-BearerTokenSendingMethods.json new file mode 100644 index 00000000000..f42ecfe32b4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-BearerTokenSendingMethods.json @@ -0,0 +1,14 @@ +{ + "name": "BearerTokenSendingMethods", + "type": "String", + "values": [ + { + "key": "AuthorizationHeader", + "value": "authorizationHeader" + }, + { + "key": "Query", + "value": "query" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ProductState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ProductState.json new file mode 100644 index 00000000000..e205639ffd4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-ProductState.json @@ -0,0 +1,14 @@ +{ + "name": "ProductState", + "type": "String", + "values": [ + { + "key": "NotPublished", + "value": "notPublished" + }, + { + "key": "Published", + "value": "published" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-Protocol.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-Protocol.json new file mode 100644 index 00000000000..3c4dea1da2d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Constant-Protocol.json @@ -0,0 +1,22 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "http" + }, + { + "key": "HTTPS", + "value": "https" + }, + { + "key": "Ws", + "value": "ws" + }, + { + "key": "Wss", + "value": "wss" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiContactInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiContactInformation.json new file mode 100644 index 00000000000..d6c9e910e4b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiContactInformation.json @@ -0,0 +1,44 @@ +{ + "name": "ApiContactInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiLicenseInformation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiLicenseInformation.json new file mode 100644 index 00000000000..c1d5c9a227a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiLicenseInformation.json @@ -0,0 +1,31 @@ +{ + "name": "ApiLicenseInformation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiTagResourceContractProperties.json new file mode 100644 index 00000000000..726ace36bee --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ApiTagResourceContractProperties.json @@ -0,0 +1,269 @@ +{ + "name": "ApiTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevisionDescription", + "name": "ApiRevisionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionDescription", + "name": "ApiVersionDescription", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersionSetId", + "name": "ApiVersionSetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authenticationSettings", + "name": "AuthenticationSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contact", + "name": "Contact", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiContactInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCurrent", + "name": "IsCurrent", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isOnline", + "name": "IsOnline", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "license", + "name": "License", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiLicenseInformation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "path", + "name": "Path", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocols", + "name": "Protocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Protocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serviceUrl", + "name": "ServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionKeyParameterNames", + "name": "SubscriptionKeyParameterNames", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionKeyParameterNamesContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "termsOfServiceUrl", + "name": "TermsOfServiceUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-AuthenticationSettingsContract.json new file mode 100644 index 00000000000..eff9940699c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-AuthenticationSettingsContract.json @@ -0,0 +1,65 @@ +{ + "name": "AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2", + "name": "OAuth2", + "objectDefinition": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "oAuth2AuthenticationSettings", + "name": "OAuth2AuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OAuth2AuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openid", + "name": "Openid", + "objectDefinition": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidAuthenticationSettings", + "name": "OpenidAuthenticationSettings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OpenIdAuthenticationSettingsContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OAuth2AuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OAuth2AuthenticationSettingsContract.json new file mode 100644 index 00000000000..a535d1fc2aa --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OAuth2AuthenticationSettingsContract.json @@ -0,0 +1,31 @@ +{ + "name": "OAuth2AuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "authorizationServerId", + "name": "AuthorizationServerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OpenIdAuthenticationSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OpenIdAuthenticationSettingsContract.json new file mode 100644 index 00000000000..e7f51ef8de5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OpenIdAuthenticationSettingsContract.json @@ -0,0 +1,35 @@ +{ + "name": "OpenIdAuthenticationSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "bearerTokenSendingMethods", + "name": "BearerTokenSendingMethods", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "BearerTokenSendingMethods" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "openidProviderId", + "name": "OpenidProviderId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OperationTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OperationTagResourceContractProperties.json new file mode 100644 index 00000000000..a5035ff0ad3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-OperationTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "OperationTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiName", + "name": "ApiName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiRevision", + "name": "ApiRevision", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "apiVersion", + "name": "ApiVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "method", + "name": "Method", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlTemplate", + "name": "UrlTemplate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ProductTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ProductTagResourceContractProperties.json new file mode 100644 index 00000000000..a74ee909567 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-ProductTagResourceContractProperties.json @@ -0,0 +1,109 @@ +{ + "name": "ProductTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "approvalRequired", + "name": "ApprovalRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionRequired", + "name": "SubscriptionRequired", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionsLimit", + "name": "SubscriptionsLimit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "terms", + "name": "Terms", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-SubscriptionKeyParameterNamesContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-SubscriptionKeyParameterNamesContract.json new file mode 100644 index 00000000000..039a61eafd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-SubscriptionKeyParameterNamesContract.json @@ -0,0 +1,31 @@ +{ + "name": "SubscriptionKeyParameterNamesContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "header", + "name": "Header", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "query", + "name": "Query", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagResourceContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagResourceContract.json new file mode 100644 index 00000000000..fe01e7f8413 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagResourceContract.json @@ -0,0 +1,57 @@ +{ + "name": "TagResourceContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "api", + "name": "Api", + "objectDefinition": { + "type": "Reference", + "referenceName": "ApiTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operation", + "name": "Operation", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "product", + "name": "Product", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProductTagResourceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tag", + "name": "Tag", + "objectDefinition": { + "type": "Reference", + "referenceName": "TagTagResourceContractProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagTagResourceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagTagResourceContractProperties.json new file mode 100644 index 00000000000..1803cec77bd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Model-TagTagResourceContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "TagTagResourceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Operation-ListByService.json new file mode 100644 index 00000000000..d432e356ccc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "TagResourceContract" + }, + "uriSuffix": "/tagResources" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TagResource/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Constant-AccessIdName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Constant-AccessIdName.json new file mode 100644 index 00000000000..4b78d9edb98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Constant-AccessIdName.json @@ -0,0 +1,14 @@ +{ + "name": "AccessIdName", + "type": "String", + "values": [ + { + "key": "Access", + "value": "access" + }, + { + "key": "GitAccess", + "value": "gitAccess" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContract.json new file mode 100644 index 00000000000..95fba4f7dd8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContract.json @@ -0,0 +1,57 @@ +{ + "name": "AccessInformationContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AccessInformationContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContractProperties.json new file mode 100644 index 00000000000..b4470bf0452 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationContractProperties.json @@ -0,0 +1,44 @@ +{ + "name": "AccessInformationContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "principalId", + "name": "PrincipalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameterProperties.json new file mode 100644 index 00000000000..c762582f305 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameterProperties.json @@ -0,0 +1,57 @@ +{ + "name": "AccessInformationCreateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "principalId", + "name": "PrincipalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameters.json new file mode 100644 index 00000000000..3c9ef8e6a64 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationCreateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "AccessInformationCreateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AccessInformationCreateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationSecretsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationSecretsContract.json new file mode 100644 index 00000000000..483daf1c2bf --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationSecretsContract.json @@ -0,0 +1,70 @@ +{ + "name": "AccessInformationSecretsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "principalId", + "name": "PrincipalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameterProperties.json new file mode 100644 index 00000000000..4a807e457c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameterProperties.json @@ -0,0 +1,18 @@ +{ + "name": "AccessInformationUpdateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameters.json new file mode 100644 index 00000000000..571eac223df --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Model-AccessInformationUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "AccessInformationUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AccessInformationUpdateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Create.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Create.json new file mode 100644 index 00000000000..6220121acf7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Create.json @@ -0,0 +1,30 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AccessId", + "requestObject": { + "type": "Reference", + "referenceName": "AccessInformationCreateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AccessInformationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Get.json new file mode 100644 index 00000000000..bb625f05b3c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AccessId", + "responseObject": { + "type": "Reference", + "referenceName": "AccessInformationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-GetEntityTag.json new file mode 100644 index 00000000000..c86b18ad2e7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "AccessId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListByService.json new file mode 100644 index 00000000000..4c6bfaff4de --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListByService.json @@ -0,0 +1,28 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "AccessInformationContract" + }, + "uriSuffix": "/tenant" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListSecrets.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListSecrets.json new file mode 100644 index 00000000000..6c95b37a1d9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-ListSecrets.json @@ -0,0 +1,15 @@ +{ + "name": "ListSecrets", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AccessId", + "responseObject": { + "type": "Reference", + "referenceName": "AccessInformationSecretsContract" + }, + "uriSuffix": "/listSecrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegeneratePrimaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegeneratePrimaryKey.json new file mode 100644 index 00000000000..cdbf4b88b57 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegeneratePrimaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "RegeneratePrimaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AccessId", + "uriSuffix": "/regeneratePrimaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegenerateSecondaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegenerateSecondaryKey.json new file mode 100644 index 00000000000..459fa163850 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-RegenerateSecondaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "RegenerateSecondaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AccessId", + "uriSuffix": "/regenerateSecondaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Update.json new file mode 100644 index 00000000000..ce257c30369 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "AccessId", + "requestObject": { + "type": "Reference", + "referenceName": "AccessInformationUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AccessInformationContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-AccessId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-AccessId.json new file mode 100644 index 00000000000..ade97458fd0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-AccessId.json @@ -0,0 +1,53 @@ +{ + "name": "AccessId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTenant", + "type": "Static", + "value": "tenant" + }, + { + "constantName": "AccessIdName", + "name": "accessName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccess/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Constant-AccessIdName.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Constant-AccessIdName.json new file mode 100644 index 00000000000..4b78d9edb98 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Constant-AccessIdName.json @@ -0,0 +1,14 @@ +{ + "name": "AccessIdName", + "type": "String", + "values": [ + { + "key": "Access", + "value": "access" + }, + { + "key": "GitAccess", + "value": "gitAccess" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegeneratePrimaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegeneratePrimaryKey.json new file mode 100644 index 00000000000..293ff75c62e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegeneratePrimaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "RegeneratePrimaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AccessId", + "uriSuffix": "/git/regeneratePrimaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegenerateSecondaryKey.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegenerateSecondaryKey.json new file mode 100644 index 00000000000..d802b3ecf90 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/Operation-RegenerateSecondaryKey.json @@ -0,0 +1,11 @@ +{ + "name": "RegenerateSecondaryKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AccessId", + "uriSuffix": "/git/regenerateSecondaryKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/ResourceId-AccessId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/ResourceId-AccessId.json new file mode 100644 index 00000000000..ade97458fd0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantAccessGit/ResourceId-AccessId.json @@ -0,0 +1,53 @@ +{ + "name": "AccessId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticTenant", + "type": "Static", + "value": "tenant" + }, + { + "constantName": "AccessIdName", + "name": "accessName", + "type": "Constant" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Constant-AsyncOperationStatus.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Constant-AsyncOperationStatus.json new file mode 100644 index 00000000000..e1d37f62fd1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Constant-AsyncOperationStatus.json @@ -0,0 +1,22 @@ +{ + "name": "AsyncOperationStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "Started", + "value": "Started" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameterProperties.json new file mode 100644 index 00000000000..a0c3cea2590 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameterProperties.json @@ -0,0 +1,31 @@ +{ + "name": "DeployConfigurationParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "branch", + "name": "Branch", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "force", + "name": "Force", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameters.json new file mode 100644 index 00000000000..213c3aa1dde --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-DeployConfigurationParameters.json @@ -0,0 +1,18 @@ +{ + "name": "DeployConfigurationParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeployConfigurationParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorFieldContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorFieldContract.json new file mode 100644 index 00000000000..f8929fefd3c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorFieldContract.json @@ -0,0 +1,44 @@ +{ + "name": "ErrorFieldContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "target", + "name": "Target", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorResponseBody.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorResponseBody.json new file mode 100644 index 00000000000..cddf07c0ad3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-ErrorResponseBody.json @@ -0,0 +1,48 @@ +{ + "name": "ErrorResponseBody", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "details", + "name": "Details", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ErrorFieldContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContract.json new file mode 100644 index 00000000000..5bb533368fb --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContract.json @@ -0,0 +1,57 @@ +{ + "name": "OperationResultContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OperationResultContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContractProperties.json new file mode 100644 index 00000000000..92b550e6123 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultContractProperties.json @@ -0,0 +1,102 @@ +{ + "name": "OperationResultContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionLog", + "name": "ActionLog", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OperationResultLogItemContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "error", + "name": "Error", + "objectDefinition": { + "type": "Reference", + "referenceName": "ErrorResponseBody" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resultInfo", + "name": "ResultInfo", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "started", + "name": "Started", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "AsyncOperationStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "updated", + "name": "Updated", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultLogItemContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultLogItemContract.json new file mode 100644 index 00000000000..9de7112393e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-OperationResultLogItemContract.json @@ -0,0 +1,44 @@ +{ + "name": "OperationResultLogItemContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "action", + "name": "Action", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "objectKey", + "name": "ObjectKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "objectType", + "name": "ObjectType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameter.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameter.json new file mode 100644 index 00000000000..3b0ead546c8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameter.json @@ -0,0 +1,18 @@ +{ + "name": "SaveConfigurationParameter", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SaveConfigurationParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameterProperties.json new file mode 100644 index 00000000000..935de3cef1b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Model-SaveConfigurationParameterProperties.json @@ -0,0 +1,31 @@ +{ + "name": "SaveConfigurationParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "branch", + "name": "Branch", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "force", + "name": "Force", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Deploy.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Deploy.json new file mode 100644 index 00000000000..6b222f9e878 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Deploy.json @@ -0,0 +1,20 @@ +{ + "name": "Deploy", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "DeployConfigurationParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OperationResultContract" + }, + "uriSuffix": "/tenant/configuration/deploy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Save.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Save.json new file mode 100644 index 00000000000..bd01b97d8ca --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Save.json @@ -0,0 +1,20 @@ +{ + "name": "Save", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "SaveConfigurationParameter" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OperationResultContract" + }, + "uriSuffix": "/tenant/configuration/save" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Validate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Validate.json new file mode 100644 index 00000000000..d45ccdd1bd2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/Operation-Validate.json @@ -0,0 +1,20 @@ +{ + "name": "Validate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ServiceId", + "requestObject": { + "type": "Reference", + "referenceName": "DeployConfigurationParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OperationResultContract" + }, + "uriSuffix": "/tenant/configuration/validate" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfiguration/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContract.json new file mode 100644 index 00000000000..a554d98a2d5 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContract.json @@ -0,0 +1,57 @@ +{ + "name": "TenantConfigurationSyncStateContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TenantConfigurationSyncStateContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContractProperties.json new file mode 100644 index 00000000000..09c1483ec7e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Model-TenantConfigurationSyncStateContractProperties.json @@ -0,0 +1,111 @@ +{ + "name": "TenantConfigurationSyncStateContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "branch", + "name": "Branch", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "commitId", + "name": "CommitId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "configurationChangeDate", + "name": "ConfigurationChangeDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isExport", + "name": "IsExport", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isGitEnabled", + "name": "IsGitEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isSynced", + "name": "IsSynced", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "lastOperationId", + "name": "LastOperationId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "syncDate", + "name": "SyncDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Operation-TenantConfigurationGetSyncState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Operation-TenantConfigurationGetSyncState.json new file mode 100644 index 00000000000..1151effca46 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/Operation-TenantConfigurationGetSyncState.json @@ -0,0 +1,15 @@ +{ + "name": "TenantConfigurationGetSyncState", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "TenantConfigurationSyncStateContract" + }, + "uriSuffix": "/tenant/configuration/syncState" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantConfigurationSyncState/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContract.json new file mode 100644 index 00000000000..5e521c68295 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContract.json @@ -0,0 +1,57 @@ +{ + "name": "TenantSettingsContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "TenantSettingsContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContractProperties.json new file mode 100644 index 00000000000..299971222be --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Model-TenantSettingsContractProperties.json @@ -0,0 +1,22 @@ +{ + "name": "TenantSettingsContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "settings", + "name": "Settings", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-Get.json new file mode 100644 index 00000000000..82485348b7a --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-Get.json @@ -0,0 +1,15 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "TenantSettingsContract" + }, + "uriSuffix": "/settings/public" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-ListByService.json new file mode 100644 index 00000000000..49600ba84bc --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/Operation-ListByService.json @@ -0,0 +1,28 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "TenantSettingsContract" + }, + "uriSuffix": "/settings" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/TenantSettings/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-AppType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-AppType.json new file mode 100644 index 00000000000..3d67d92146c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-AppType.json @@ -0,0 +1,14 @@ +{ + "name": "AppType", + "type": "String", + "values": [ + { + "key": "DeveloperPortal", + "value": "developerPortal" + }, + { + "key": "Portal", + "value": "portal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-Confirmation.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-Confirmation.json new file mode 100644 index 00000000000..595766ebe10 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-Confirmation.json @@ -0,0 +1,14 @@ +{ + "name": "Confirmation", + "type": "String", + "values": [ + { + "key": "Invite", + "value": "invite" + }, + { + "key": "Signup", + "value": "signup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-GroupType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-GroupType.json new file mode 100644 index 00000000000..5897acc844d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-GroupType.json @@ -0,0 +1,18 @@ +{ + "name": "GroupType", + "type": "String", + "values": [ + { + "key": "Custom", + "value": "custom" + }, + { + "key": "External", + "value": "external" + }, + { + "key": "System", + "value": "system" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-UserState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-UserState.json new file mode 100644 index 00000000000..ef54d56f02f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Constant-UserState.json @@ -0,0 +1,22 @@ +{ + "name": "UserState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "active" + }, + { + "key": "Blocked", + "value": "blocked" + }, + { + "key": "Deleted", + "value": "deleted" + }, + { + "key": "Pending", + "value": "pending" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-GroupContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-GroupContractProperties.json new file mode 100644 index 00000000000..49025d26f27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-GroupContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "GroupContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "builtIn", + "name": "BuiltIn", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalId", + "name": "ExternalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContract.json new file mode 100644 index 00000000000..2154a969826 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContract.json @@ -0,0 +1,57 @@ +{ + "name": "UserContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContractProperties.json new file mode 100644 index 00000000000..84ade43e262 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserContractProperties.json @@ -0,0 +1,118 @@ +{ + "name": "UserContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "firstName", + "name": "FirstName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groups", + "name": "Groups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GroupContractProperties" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identities", + "name": "Identities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UserIdentityContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "lastName", + "name": "LastName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "note", + "name": "Note", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "registrationDate", + "name": "RegistrationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameterProperties.json new file mode 100644 index 00000000000..e6afe3c1c12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameterProperties.json @@ -0,0 +1,126 @@ +{ + "name": "UserCreateParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "appType", + "name": "AppType", + "objectDefinition": { + "type": "Reference", + "referenceName": "AppType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "confirmation", + "name": "Confirmation", + "objectDefinition": { + "type": "Reference", + "referenceName": "Confirmation" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "firstName", + "name": "FirstName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identities", + "name": "Identities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UserIdentityContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "lastName", + "name": "LastName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "note", + "name": "Note", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "password", + "name": "Password", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameters.json new file mode 100644 index 00000000000..e0afb4964f0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserCreateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "UserCreateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserCreateParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserIdentityContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserIdentityContract.json new file mode 100644 index 00000000000..1468610fd8f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserIdentityContract.json @@ -0,0 +1,31 @@ +{ + "name": "UserIdentityContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provider", + "name": "Provider", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParameters.json new file mode 100644 index 00000000000..fd2e716abca --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "UserUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserUpdateParametersProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParametersProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParametersProperties.json new file mode 100644 index 00000000000..3a92769a235 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Model-UserUpdateParametersProperties.json @@ -0,0 +1,100 @@ +{ + "name": "UserUpdateParametersProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "email", + "name": "Email", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "firstName", + "name": "FirstName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identities", + "name": "Identities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UserIdentityContract" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "lastName", + "name": "LastName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "note", + "name": "Note", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "password", + "name": "Password", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..1626d053b19 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-CreateOrUpdate.json @@ -0,0 +1,41 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "notify", + "required": false, + "field": "Notify", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + } + ], + "resourceIdName": "UserId", + "requestObject": { + "type": "Reference", + "referenceName": "UserCreateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Delete.json new file mode 100644 index 00000000000..9e85e678f41 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Delete.json @@ -0,0 +1,53 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "options": [ + { + "optional": true, + "queryString": "appType", + "required": false, + "field": "AppType", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "AppType" + } + }, + { + "optional": true, + "queryString": "deleteSubscriptions", + "required": false, + "field": "DeleteSubscriptions", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "notify", + "required": false, + "field": "Notify", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + } + ], + "resourceIdName": "UserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Get.json new file mode 100644 index 00000000000..378e1573690 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "UserId", + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-GetEntityTag.json new file mode 100644 index 00000000000..44b30b45d0c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "UserId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-ListByService.json new file mode 100644 index 00000000000..39bb7a0cbc8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-ListByService.json @@ -0,0 +1,58 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "expandGroups", + "required": false, + "field": "ExpandGroups", + "optionsObjectDefinition": { + "type": "Boolean", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + }, + "uriSuffix": "/users" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Update.json new file mode 100644 index 00000000000..611476dd648 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "UserId", + "requestObject": { + "type": "Reference", + "referenceName": "UserUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "UserContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-UserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-UserId.json new file mode 100644 index 00000000000..d0dd9272ae4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/User/ResourceId-UserId.json @@ -0,0 +1,52 @@ +{ + "name": "UserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Constant-AppType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Constant-AppType.json new file mode 100644 index 00000000000..3d67d92146c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Constant-AppType.json @@ -0,0 +1,14 @@ +{ + "name": "AppType", + "type": "String", + "values": [ + { + "key": "DeveloperPortal", + "value": "developerPortal" + }, + { + "key": "Portal", + "value": "portal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Operation-UserConfirmationPasswordSend.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Operation-UserConfirmationPasswordSend.json new file mode 100644 index 00000000000..ea44d3d11e2 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/Operation-UserConfirmationPasswordSend.json @@ -0,0 +1,23 @@ +{ + "name": "UserConfirmationPasswordSend", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 204 + ], + "longRunning": false, + "httpMethod": "POST", + "options": [ + { + "optional": true, + "queryString": "appType", + "required": false, + "field": "AppType", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "AppType" + } + } + ], + "resourceIdName": "UserId", + "uriSuffix": "/confirmations/password/send" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/ResourceId-UserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/ResourceId-UserId.json new file mode 100644 index 00000000000..d0dd9272ae4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserConfirmationPasswordSend/ResourceId-UserId.json @@ -0,0 +1,52 @@ +{ + "name": "UserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Constant-GroupType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Constant-GroupType.json new file mode 100644 index 00000000000..5897acc844d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Constant-GroupType.json @@ -0,0 +1,18 @@ +{ + "name": "GroupType", + "type": "String", + "values": [ + { + "key": "Custom", + "value": "custom" + }, + { + "key": "External", + "value": "external" + }, + { + "key": "System", + "value": "system" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContract.json new file mode 100644 index 00000000000..626e43a41ce --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContract.json @@ -0,0 +1,57 @@ +{ + "name": "GroupContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContractProperties.json new file mode 100644 index 00000000000..49025d26f27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Model-GroupContractProperties.json @@ -0,0 +1,70 @@ +{ + "name": "GroupContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "builtIn", + "name": "BuiltIn", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "externalId", + "name": "ExternalId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "GroupType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Operation-List.json new file mode 100644 index 00000000000..9f8f693d523 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/Operation-List.json @@ -0,0 +1,48 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "UserId", + "responseObject": { + "type": "Reference", + "referenceName": "GroupContract" + }, + "uriSuffix": "/groups" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/ResourceId-UserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/ResourceId-UserId.json new file mode 100644 index 00000000000..d0dd9272ae4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserGroup/ResourceId-UserId.json @@ -0,0 +1,52 @@ +{ + "name": "UserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Model-UserIdentityContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Model-UserIdentityContract.json new file mode 100644 index 00000000000..1468610fd8f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Model-UserIdentityContract.json @@ -0,0 +1,31 @@ +{ + "name": "UserIdentityContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provider", + "name": "Provider", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Operation-UserIdentitiesList.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Operation-UserIdentitiesList.json new file mode 100644 index 00000000000..27b7dcc297b --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/Operation-UserIdentitiesList.json @@ -0,0 +1,16 @@ +{ + "name": "UserIdentitiesList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "UserId", + "responseObject": { + "type": "Reference", + "referenceName": "UserIdentityContract" + }, + "uriSuffix": "/identities" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/ResourceId-UserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/ResourceId-UserId.json new file mode 100644 index 00000000000..d0dd9272ae4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserIdentity/ResourceId-UserId.json @@ -0,0 +1,52 @@ +{ + "name": "UserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Constant-SubscriptionState.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Constant-SubscriptionState.json new file mode 100644 index 00000000000..e3291ac36a6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Constant-SubscriptionState.json @@ -0,0 +1,30 @@ +{ + "name": "SubscriptionState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "active" + }, + { + "key": "Cancelled", + "value": "cancelled" + }, + { + "key": "Expired", + "value": "expired" + }, + { + "key": "Rejected", + "value": "rejected" + }, + { + "key": "Submitted", + "value": "submitted" + }, + { + "key": "Suspended", + "value": "suspended" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContract.json new file mode 100644 index 00000000000..38ffae6fc30 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContract.json @@ -0,0 +1,57 @@ +{ + "name": "SubscriptionContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContractProperties.json new file mode 100644 index 00000000000..e4f96492ff4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Model-SubscriptionContractProperties.json @@ -0,0 +1,179 @@ +{ + "name": "SubscriptionContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "allowTracing", + "name": "AllowTracing", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "createdDate", + "name": "CreatedDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "endDate", + "name": "EndDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "notificationDate", + "name": "NotificationDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ownerId", + "name": "OwnerId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scope", + "name": "Scope", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "startDate", + "name": "StartDate", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "SubscriptionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "stateComment", + "name": "StateComment", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Operation-List.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Operation-List.json new file mode 100644 index 00000000000..83ed25ba4a6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/Operation-List.json @@ -0,0 +1,48 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "UserId", + "responseObject": { + "type": "Reference", + "referenceName": "SubscriptionContract" + }, + "uriSuffix": "/subscriptions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/ResourceId-UserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/ResourceId-UserId.json new file mode 100644 index 00000000000..d0dd9272ae4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserSubscription/ResourceId-UserId.json @@ -0,0 +1,52 @@ +{ + "name": "UserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Constant-KeyType.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Constant-KeyType.json new file mode 100644 index 00000000000..f43e27083b6 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Constant-KeyType.json @@ -0,0 +1,14 @@ +{ + "name": "KeyType", + "type": "String", + "values": [ + { + "key": "Primary", + "value": "primary" + }, + { + "key": "Secondary", + "value": "secondary" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameterProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameterProperties.json new file mode 100644 index 00000000000..4451b96e2d0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameterProperties.json @@ -0,0 +1,32 @@ +{ + "name": "UserTokenParameterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "expiry", + "name": "Expiry", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyType", + "name": "KeyType", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameters.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameters.json new file mode 100644 index 00000000000..cbf7532b4be --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenParameters.json @@ -0,0 +1,18 @@ +{ + "name": "UserTokenParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "UserTokenParameterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenResult.json new file mode 100644 index 00000000000..6d2fc7ec7ff --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Model-UserTokenResult.json @@ -0,0 +1,18 @@ +{ + "name": "UserTokenResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Operation-UserGetSharedAccessToken.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Operation-UserGetSharedAccessToken.json new file mode 100644 index 00000000000..14f9de6899d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/Operation-UserGetSharedAccessToken.json @@ -0,0 +1,19 @@ +{ + "name": "UserGetSharedAccessToken", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "UserId", + "requestObject": { + "type": "Reference", + "referenceName": "UserTokenParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "UserTokenResult" + }, + "uriSuffix": "/token" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/ResourceId-UserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/ResourceId-UserId.json new file mode 100644 index 00000000000..d0dd9272ae4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/UserToken/ResourceId-UserId.json @@ -0,0 +1,52 @@ +{ + "name": "UserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Model-GenerateSsoUrlResult.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Model-GenerateSsoUrlResult.json new file mode 100644 index 00000000000..8547b41066d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Model-GenerateSsoUrlResult.json @@ -0,0 +1,18 @@ +{ + "name": "GenerateSsoUrlResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Operation-UserGenerateSsoUrl.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Operation-UserGenerateSsoUrl.json new file mode 100644 index 00000000000..b5e6790f982 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/Operation-UserGenerateSsoUrl.json @@ -0,0 +1,15 @@ +{ + "name": "UserGenerateSsoUrl", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "UserId", + "responseObject": { + "type": "Reference", + "referenceName": "GenerateSsoUrlResult" + }, + "uriSuffix": "/generateSsoUrl" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/ResourceId-UserId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/ResourceId-UserId.json new file mode 100644 index 00000000000..d0dd9272ae4 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Users/ResourceId-UserId.json @@ -0,0 +1,52 @@ +{ + "name": "UserId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticUsers", + "type": "Static", + "value": "users" + }, + { + "name": "userId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContract.json new file mode 100644 index 00000000000..70a5ae438af --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContract.json @@ -0,0 +1,57 @@ +{ + "name": "WorkspaceContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "WorkspaceContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContractProperties.json new file mode 100644 index 00000000000..1aa41309f27 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Model-WorkspaceContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "WorkspaceContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "displayName", + "name": "DisplayName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..e4ba42f4509 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-CreateOrUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "requestObject": { + "type": "Reference", + "referenceName": "WorkspaceContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "WorkspaceContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Delete.json new file mode 100644 index 00000000000..df341254dbd --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Delete.json @@ -0,0 +1,23 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Get.json new file mode 100644 index 00000000000..af89f4f4983 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "WorkspaceContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-GetEntityTag.json new file mode 100644 index 00000000000..ec0ed6ba6f8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-GetEntityTag.json @@ -0,0 +1,10 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-ListByService.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-ListByService.json new file mode 100644 index 00000000000..9b25085ef9e --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-ListByService.json @@ -0,0 +1,48 @@ +{ + "name": "ListByService", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "$filter", + "required": false, + "field": "Filter", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$skip", + "required": false, + "field": "Skip", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": true, + "queryString": "$top", + "required": false, + "field": "Top", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + } + ], + "resourceIdName": "ServiceId", + "responseObject": { + "type": "Reference", + "referenceName": "WorkspaceContract" + }, + "uriSuffix": "/workspaces" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Update.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Update.json new file mode 100644 index 00000000000..51b666ce4e3 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/Operation-Update.json @@ -0,0 +1,30 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "PATCH", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "requestObject": { + "type": "Reference", + "referenceName": "WorkspaceContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "WorkspaceContract" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-ServiceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-ServiceId.json new file mode 100644 index 00000000000..a671d5a1d9f --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-ServiceId.json @@ -0,0 +1,43 @@ +{ + "name": "ServiceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/Workspace/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyContentFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyContentFormat.json new file mode 100644 index 00000000000..bc4977147f1 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyContentFormat.json @@ -0,0 +1,22 @@ +{ + "name": "PolicyContentFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "RawxmlNegativelink", + "value": "rawxml-link" + }, + { + "key": "Xml", + "value": "xml" + }, + { + "key": "XmlNegativelink", + "value": "xml-link" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyExportFormat.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyExportFormat.json new file mode 100644 index 00000000000..21d38c5082c --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Constant-PolicyExportFormat.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyExportFormat", + "type": "String", + "values": [ + { + "key": "Rawxml", + "value": "rawxml" + }, + { + "key": "Xml", + "value": "xml" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContract.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContract.json new file mode 100644 index 00000000000..7ba335fd78d --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContract.json @@ -0,0 +1,57 @@ +{ + "name": "PolicyContract", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContractProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContractProperties.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContractProperties.json new file mode 100644 index 00000000000..fa677e5cc12 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Model-PolicyContractProperties.json @@ -0,0 +1,31 @@ +{ + "name": "PolicyContractProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "format", + "name": "Format", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyContentFormat" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..57f2eb3a8b8 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "options": [ + { + "headerName": "If-Match", + "optional": true, + "required": false, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "requestObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Delete.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Delete.json new file mode 100644 index 00000000000..a4c9b00fabe --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Delete.json @@ -0,0 +1,24 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "options": [ + { + "headerName": "If-Match", + "optional": false, + "required": true, + "field": "IfMatch", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + } + ], + "resourceIdName": "WorkspaceId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Get.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Get.json new file mode 100644 index 00000000000..2a5cd91cac0 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-Get.json @@ -0,0 +1,27 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "format", + "required": false, + "field": "Format", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "PolicyExportFormat" + } + } + ], + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-GetEntityTag.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-GetEntityTag.json new file mode 100644 index 00000000000..a69229c74b9 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-GetEntityTag.json @@ -0,0 +1,11 @@ +{ + "name": "GetEntityTag", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "HEAD", + "resourceIdName": "WorkspaceId", + "uriSuffix": "/policies/policy" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-ListByApi.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-ListByApi.json new file mode 100644 index 00000000000..315e7511fd7 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/Operation-ListByApi.json @@ -0,0 +1,16 @@ +{ + "name": "ListByApi", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "WorkspaceId", + "responseObject": { + "type": "Reference", + "referenceName": "PolicyContract" + }, + "uriSuffix": "/policies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/ResourceId-WorkspaceId.json b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/ResourceId-WorkspaceId.json new file mode 100644 index 00000000000..ec6a8a68a31 --- /dev/null +++ b/api-definitions/resource-manager/ApiManagement/2024-05-01/WorkspacePolicy/ResourceId-WorkspaceId.json @@ -0,0 +1,52 @@ +{ + "name": "WorkspaceId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/workspaces/{workspaceId}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftApiManagement", + "type": "ResourceProvider", + "value": "Microsoft.ApiManagement" + }, + { + "name": "staticService", + "type": "Static", + "value": "service" + }, + { + "name": "serviceName", + "type": "UserSpecified" + }, + { + "name": "staticWorkspaces", + "type": "Static", + "value": "workspaces" + }, + { + "name": "workspaceId", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DataFactory/2018-06-01/LinkedServices/Model-MariaDBLinkedServiceTypeProperties.json b/api-definitions/resource-manager/DataFactory/2018-06-01/LinkedServices/Model-MariaDBLinkedServiceTypeProperties.json index 41770e1d7e7..6f5f8d3495a 100644 --- a/api-definitions/resource-manager/DataFactory/2018-06-01/LinkedServices/Model-MariaDBLinkedServiceTypeProperties.json +++ b/api-definitions/resource-manager/DataFactory/2018-06-01/LinkedServices/Model-MariaDBLinkedServiceTypeProperties.json @@ -92,6 +92,32 @@ "required": false, "sensitive": false }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sslMode", + "name": "SslMode", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useSystemTrustStore", + "name": "UseSystemTrustStore", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, { "containsDiscriminatedTypeValue": false, "jsonName": "username", diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/ApiVersionDefinition.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/ApiVersionDefinition.json new file mode 100644 index 00000000000..01c856dc6a9 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/ApiVersionDefinition.json @@ -0,0 +1,12 @@ +{ + "apiVersion": "2024-06-01-preview", + "isPreview": true, + "generate": true, + "resources": [ + "NginxCertificate", + "NginxConfiguration", + "NginxConfigurationAnalysis", + "NginxDeployment" + ], + "source": "Azure/azure-rest-api-specs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Constant-ProvisioningState.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Constant-ProvisioningState.json new file mode 100644 index 00000000000..41c841f02a3 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Constant-ProvisioningState.json @@ -0,0 +1,42 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Accepted", + "value": "Accepted" + }, + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleted", + "value": "Deleted" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "NotSpecified", + "value": "NotSpecified" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificate.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificate.json new file mode 100644 index 00000000000..99cc3f9e23b --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificate.json @@ -0,0 +1,83 @@ +{ + "name": "NginxCertificate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxCertificateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateErrorResponseBody.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateErrorResponseBody.json new file mode 100644 index 00000000000..10d9637d08c --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateErrorResponseBody.json @@ -0,0 +1,31 @@ +{ + "name": "NginxCertificateErrorResponseBody", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateProperties.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateProperties.json new file mode 100644 index 00000000000..bf005289d81 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Model-NginxCertificateProperties.json @@ -0,0 +1,110 @@ +{ + "name": "NginxCertificateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateError", + "name": "CertificateError", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxCertificateErrorResponseBody" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateVirtualPath", + "name": "CertificateVirtualPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "keyVaultSecretCreated", + "name": "KeyVaultSecretCreated", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVaultSecretId", + "name": "KeyVaultSecretId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVaultSecretVersion", + "name": "KeyVaultSecretVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyVirtualPath", + "name": "KeyVirtualPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sha1Thumbprint", + "name": "Sha1Thumbprint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesCreateOrUpdate.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesCreateOrUpdate.json new file mode 100644 index 00000000000..be65d543e6c --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CertificatesCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "CertificateId", + "requestObject": { + "type": "Reference", + "referenceName": "NginxCertificate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NginxCertificate" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesDelete.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesDelete.json new file mode 100644 index 00000000000..f63cb3c036f --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesDelete.json @@ -0,0 +1,12 @@ +{ + "name": "CertificatesDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "CertificateId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesGet.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesGet.json new file mode 100644 index 00000000000..309d1b6a7d7 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesGet.json @@ -0,0 +1,14 @@ +{ + "name": "CertificatesGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CertificateId", + "responseObject": { + "type": "Reference", + "referenceName": "NginxCertificate" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesList.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesList.json new file mode 100644 index 00000000000..2a909fad5d5 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/Operation-CertificatesList.json @@ -0,0 +1,16 @@ +{ + "name": "CertificatesList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NginxDeploymentId", + "responseObject": { + "type": "Reference", + "referenceName": "NginxCertificate" + }, + "uriSuffix": "/certificates" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-CertificateId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-CertificateId.json new file mode 100644 index 00000000000..d1d1b1385a1 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-CertificateId.json @@ -0,0 +1,52 @@ +{ + "name": "CertificateId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Nginx.NginxPlus/nginxDeployments/{nginxDeploymentName}/certificates/{certificateName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticNginxNginxPlus", + "type": "ResourceProvider", + "value": "Nginx.NginxPlus" + }, + { + "name": "staticNginxDeployments", + "type": "Static", + "value": "nginxDeployments" + }, + { + "name": "nginxDeploymentName", + "type": "UserSpecified" + }, + { + "name": "staticCertificates", + "type": "Static", + "value": "certificates" + }, + { + "name": "certificateName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-NginxDeploymentId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-NginxDeploymentId.json new file mode 100644 index 00000000000..cc045f887af --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxCertificate/ResourceId-NginxDeploymentId.json @@ -0,0 +1,43 @@ +{ + "name": "NginxDeploymentId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Nginx.NginxPlus/nginxDeployments/{nginxDeploymentName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticNginxNginxPlus", + "type": "ResourceProvider", + "value": "Nginx.NginxPlus" + }, + { + "name": "staticNginxDeployments", + "type": "Static", + "value": "nginxDeployments" + }, + { + "name": "nginxDeploymentName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Constant-ProvisioningState.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Constant-ProvisioningState.json new file mode 100644 index 00000000000..41c841f02a3 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Constant-ProvisioningState.json @@ -0,0 +1,42 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Accepted", + "value": "Accepted" + }, + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleted", + "value": "Deleted" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "NotSpecified", + "value": "NotSpecified" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfiguration.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfiguration.json new file mode 100644 index 00000000000..abfd21be668 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfiguration.json @@ -0,0 +1,83 @@ +{ + "name": "NginxConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxConfigurationProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationFile.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationFile.json new file mode 100644 index 00000000000..58d2cbe3e2a --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationFile.json @@ -0,0 +1,31 @@ +{ + "name": "NginxConfigurationFile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "content", + "name": "Content", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualPath", + "name": "VirtualPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationPackage.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationPackage.json new file mode 100644 index 00000000000..f05d42ef55b --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationPackage.json @@ -0,0 +1,35 @@ +{ + "name": "NginxConfigurationPackage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protectedFiles", + "name": "ProtectedFiles", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationProperties.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationProperties.json new file mode 100644 index 00000000000..e327c81bbe0 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Model-NginxConfigurationProperties.json @@ -0,0 +1,78 @@ +{ + "name": "NginxConfigurationProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "files", + "name": "Files", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "NginxConfigurationFile" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "package", + "name": "Package", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxConfigurationPackage" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protectedFiles", + "name": "ProtectedFiles", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "NginxConfigurationFile" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rootFile", + "name": "RootFile", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsCreateOrUpdate.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsCreateOrUpdate.json new file mode 100644 index 00000000000..4af6df65aa0 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "ConfigurationsCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "ConfigurationId", + "requestObject": { + "type": "Reference", + "referenceName": "NginxConfiguration" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NginxConfiguration" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsDelete.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsDelete.json new file mode 100644 index 00000000000..3182b79100d --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsDelete.json @@ -0,0 +1,12 @@ +{ + "name": "ConfigurationsDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "ConfigurationId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsGet.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsGet.json new file mode 100644 index 00000000000..2d3ba561658 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsGet.json @@ -0,0 +1,14 @@ +{ + "name": "ConfigurationsGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ConfigurationId", + "responseObject": { + "type": "Reference", + "referenceName": "NginxConfiguration" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsList.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsList.json new file mode 100644 index 00000000000..6419a12b860 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/Operation-ConfigurationsList.json @@ -0,0 +1,16 @@ +{ + "name": "ConfigurationsList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NginxDeploymentId", + "responseObject": { + "type": "Reference", + "referenceName": "NginxConfiguration" + }, + "uriSuffix": "/configurations" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-ConfigurationId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-ConfigurationId.json new file mode 100644 index 00000000000..25de1d98971 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-ConfigurationId.json @@ -0,0 +1,52 @@ +{ + "name": "ConfigurationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Nginx.NginxPlus/nginxDeployments/{nginxDeploymentName}/configurations/{configurationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticNginxNginxPlus", + "type": "ResourceProvider", + "value": "Nginx.NginxPlus" + }, + { + "name": "staticNginxDeployments", + "type": "Static", + "value": "nginxDeployments" + }, + { + "name": "nginxDeploymentName", + "type": "UserSpecified" + }, + { + "name": "staticConfigurations", + "type": "Static", + "value": "configurations" + }, + { + "name": "configurationName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-NginxDeploymentId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-NginxDeploymentId.json new file mode 100644 index 00000000000..cc045f887af --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfiguration/ResourceId-NginxDeploymentId.json @@ -0,0 +1,43 @@ +{ + "name": "NginxDeploymentId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Nginx.NginxPlus/nginxDeployments/{nginxDeploymentName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticNginxNginxPlus", + "type": "ResourceProvider", + "value": "Nginx.NginxPlus" + }, + { + "name": "staticNginxDeployments", + "type": "Static", + "value": "nginxDeployments" + }, + { + "name": "nginxDeploymentName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreate.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreate.json new file mode 100644 index 00000000000..be29fcc69e1 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreate.json @@ -0,0 +1,18 @@ +{ + "name": "AnalysisCreate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "config", + "name": "Config", + "objectDefinition": { + "type": "Reference", + "referenceName": "AnalysisCreateConfig" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreateConfig.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreateConfig.json new file mode 100644 index 00000000000..743ad35800b --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisCreateConfig.json @@ -0,0 +1,65 @@ +{ + "name": "AnalysisCreateConfig", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "files", + "name": "Files", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "NginxConfigurationFile" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "package", + "name": "Package", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxConfigurationPackage" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protectedFiles", + "name": "ProtectedFiles", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "NginxConfigurationFile" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rootFile", + "name": "RootFile", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisDiagnostic.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisDiagnostic.json new file mode 100644 index 00000000000..5ae68b1d3ef --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisDiagnostic.json @@ -0,0 +1,96 @@ +{ + "name": "AnalysisDiagnostic", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "directive", + "name": "Directive", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "file", + "name": "File", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "line", + "name": "Line", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rule", + "name": "Rule", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResult.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResult.json new file mode 100644 index 00000000000..4973a14bd40 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResult.json @@ -0,0 +1,31 @@ +{ + "name": "AnalysisResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "Reference", + "referenceName": "AnalysisResultData" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResultData.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResultData.json new file mode 100644 index 00000000000..400817168d0 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-AnalysisResultData.json @@ -0,0 +1,22 @@ +{ + "name": "AnalysisResultData", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "errors", + "name": "Errors", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "AnalysisDiagnostic" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationFile.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationFile.json new file mode 100644 index 00000000000..58d2cbe3e2a --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationFile.json @@ -0,0 +1,31 @@ +{ + "name": "NginxConfigurationFile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "content", + "name": "Content", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "virtualPath", + "name": "VirtualPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationPackage.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationPackage.json new file mode 100644 index 00000000000..f05d42ef55b --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Model-NginxConfigurationPackage.json @@ -0,0 +1,35 @@ +{ + "name": "NginxConfigurationPackage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protectedFiles", + "name": "ProtectedFiles", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Operation-ConfigurationsAnalysis.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Operation-ConfigurationsAnalysis.json new file mode 100644 index 00000000000..1c56d1ce0c4 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/Operation-ConfigurationsAnalysis.json @@ -0,0 +1,19 @@ +{ + "name": "ConfigurationsAnalysis", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ConfigurationId", + "requestObject": { + "type": "Reference", + "referenceName": "AnalysisCreate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AnalysisResult" + }, + "uriSuffix": "/analyze" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/ResourceId-ConfigurationId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/ResourceId-ConfigurationId.json new file mode 100644 index 00000000000..25de1d98971 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxConfigurationAnalysis/ResourceId-ConfigurationId.json @@ -0,0 +1,52 @@ +{ + "name": "ConfigurationId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Nginx.NginxPlus/nginxDeployments/{nginxDeploymentName}/configurations/{configurationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticNginxNginxPlus", + "type": "ResourceProvider", + "value": "Nginx.NginxPlus" + }, + { + "name": "staticNginxDeployments", + "type": "Static", + "value": "nginxDeployments" + }, + { + "name": "nginxDeploymentName", + "type": "UserSpecified" + }, + { + "name": "staticConfigurations", + "type": "Static", + "value": "configurations" + }, + { + "name": "configurationName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ActivationState.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ActivationState.json new file mode 100644 index 00000000000..b459864b346 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ActivationState.json @@ -0,0 +1,14 @@ +{ + "name": "ActivationState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-NginxPrivateIPAllocationMethod.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-NginxPrivateIPAllocationMethod.json new file mode 100644 index 00000000000..34cea22432a --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-NginxPrivateIPAllocationMethod.json @@ -0,0 +1,14 @@ +{ + "name": "NginxPrivateIPAllocationMethod", + "type": "String", + "values": [ + { + "key": "Dynamic", + "value": "Dynamic" + }, + { + "key": "Static", + "value": "Static" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ProvisioningState.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ProvisioningState.json new file mode 100644 index 00000000000..41c841f02a3 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Constant-ProvisioningState.json @@ -0,0 +1,42 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Accepted", + "value": "Accepted" + }, + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleted", + "value": "Deleted" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "NotSpecified", + "value": "NotSpecified" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-AutoUpgradeProfile.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-AutoUpgradeProfile.json new file mode 100644 index 00000000000..442faa5c949 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-AutoUpgradeProfile.json @@ -0,0 +1,18 @@ +{ + "name": "AutoUpgradeProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "upgradeChannel", + "name": "UpgradeChannel", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeployment.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeployment.json new file mode 100644 index 00000000000..53793ac55cd --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeployment.json @@ -0,0 +1,122 @@ +{ + "name": "NginxDeployment", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentProperties.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentProperties.json new file mode 100644 index 00000000000..078b5d1303f --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentProperties.json @@ -0,0 +1,148 @@ +{ + "name": "NginxDeploymentProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "autoUpgradeProfile", + "name": "AutoUpgradeProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "AutoUpgradeProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enableDiagnosticsSupport", + "name": "EnableDiagnosticsSupport", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ipAddress", + "name": "IPAddress", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logging", + "name": "Logging", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxLogging" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "managedResourceGroup", + "name": "ManagedResourceGroup", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "networkProfile", + "name": "NetworkProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxNetworkProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nginxAppProtect", + "name": "NginxAppProtect", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentPropertiesNginxAppProtect" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nginxVersion", + "name": "NginxVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scalingProperties", + "name": "ScalingProperties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentScalingProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userProfile", + "name": "UserProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentUserProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentPropertiesNginxAppProtect.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentPropertiesNginxAppProtect.json new file mode 100644 index 00000000000..7f7bdf9fbbf --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentPropertiesNginxAppProtect.json @@ -0,0 +1,31 @@ +{ + "name": "NginxDeploymentPropertiesNginxAppProtect", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "webApplicationFirewallSettings", + "name": "WebApplicationFirewallSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "WebApplicationFirewallSettings" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "webApplicationFirewallStatus", + "name": "WebApplicationFirewallStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "WebApplicationFirewallStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingProperties.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingProperties.json new file mode 100644 index 00000000000..b98b48f996d --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingProperties.json @@ -0,0 +1,31 @@ +{ + "name": "NginxDeploymentScalingProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "autoScaleSettings", + "name": "AutoScaleSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentScalingPropertiesAutoScaleSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingPropertiesAutoScaleSettings.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingPropertiesAutoScaleSettings.json new file mode 100644 index 00000000000..8e809e597a9 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentScalingPropertiesAutoScaleSettings.json @@ -0,0 +1,22 @@ +{ + "name": "NginxDeploymentScalingPropertiesAutoScaleSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profiles", + "name": "Profiles", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ScaleProfile" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateParameters.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateParameters.json new file mode 100644 index 00000000000..1c093905730 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateParameters.json @@ -0,0 +1,70 @@ +{ + "name": "NginxDeploymentUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateProperties.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateProperties.json new file mode 100644 index 00000000000..6d1ea17f6a6 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdateProperties.json @@ -0,0 +1,83 @@ +{ + "name": "NginxDeploymentUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "autoUpgradeProfile", + "name": "AutoUpgradeProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "AutoUpgradeProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enableDiagnosticsSupport", + "name": "EnableDiagnosticsSupport", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logging", + "name": "Logging", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxLogging" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nginxAppProtect", + "name": "NginxAppProtect", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentUpdatePropertiesNginxAppProtect" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scalingProperties", + "name": "ScalingProperties", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentScalingProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userProfile", + "name": "UserProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxDeploymentUserProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdatePropertiesNginxAppProtect.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdatePropertiesNginxAppProtect.json new file mode 100644 index 00000000000..2db3d81cf89 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUpdatePropertiesNginxAppProtect.json @@ -0,0 +1,18 @@ +{ + "name": "NginxDeploymentUpdatePropertiesNginxAppProtect", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "webApplicationFirewallSettings", + "name": "WebApplicationFirewallSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "WebApplicationFirewallSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUserProfile.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUserProfile.json new file mode 100644 index 00000000000..cff432e5900 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxDeploymentUserProfile.json @@ -0,0 +1,18 @@ +{ + "name": "NginxDeploymentUserProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "preferredEmail", + "name": "PreferredEmail", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxFrontendIPConfiguration.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxFrontendIPConfiguration.json new file mode 100644 index 00000000000..7b5cd6461da --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxFrontendIPConfiguration.json @@ -0,0 +1,39 @@ +{ + "name": "NginxFrontendIPConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateIPAddresses", + "name": "PrivateIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "NginxPrivateIPAddress" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicIPAddresses", + "name": "PublicIPAddresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "NginxPublicIPAddress" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxLogging.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxLogging.json new file mode 100644 index 00000000000..b009788608e --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxLogging.json @@ -0,0 +1,18 @@ +{ + "name": "NginxLogging", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storageAccount", + "name": "StorageAccount", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxStorageAccount" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkInterfaceConfiguration.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkInterfaceConfiguration.json new file mode 100644 index 00000000000..02d59c36051 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkInterfaceConfiguration.json @@ -0,0 +1,18 @@ +{ + "name": "NginxNetworkInterfaceConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subnetId", + "name": "SubnetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkProfile.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkProfile.json new file mode 100644 index 00000000000..b657d54bf04 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxNetworkProfile.json @@ -0,0 +1,31 @@ +{ + "name": "NginxNetworkProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontEndIPConfiguration", + "name": "FrontEndIPConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxFrontendIPConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "networkInterfaceConfiguration", + "name": "NetworkInterfaceConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxNetworkInterfaceConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPrivateIPAddress.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPrivateIPAddress.json new file mode 100644 index 00000000000..317d7f6cc23 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPrivateIPAddress.json @@ -0,0 +1,44 @@ +{ + "name": "NginxPrivateIPAddress", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateIPAddress", + "name": "PrivateIPAddress", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateIPAllocationMethod", + "name": "PrivateIPAllocationMethod", + "objectDefinition": { + "type": "Reference", + "referenceName": "NginxPrivateIPAllocationMethod" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subnetId", + "name": "SubnetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPublicIPAddress.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPublicIPAddress.json new file mode 100644 index 00000000000..bc0f003fe0e --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxPublicIPAddress.json @@ -0,0 +1,18 @@ +{ + "name": "NginxPublicIPAddress", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxStorageAccount.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxStorageAccount.json new file mode 100644 index 00000000000..1b593ea310a --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-NginxStorageAccount.json @@ -0,0 +1,31 @@ +{ + "name": "NginxStorageAccount", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "accountName", + "name": "AccountName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "containerName", + "name": "ContainerName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ResourceSku.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ResourceSku.json new file mode 100644 index 00000000000..97c03902e8c --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ResourceSku.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceSku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfile.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfile.json new file mode 100644 index 00000000000..6b7ca676764 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfile.json @@ -0,0 +1,31 @@ +{ + "name": "ScaleProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Reference", + "referenceName": "ScaleProfileCapacity" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfileCapacity.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfileCapacity.json new file mode 100644 index 00000000000..0b1350cd892 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-ScaleProfileCapacity.json @@ -0,0 +1,31 @@ +{ + "name": "ScaleProfileCapacity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "max", + "name": "Max", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "min", + "name": "Min", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallComponentVersions.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallComponentVersions.json new file mode 100644 index 00000000000..de7289c21a7 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallComponentVersions.json @@ -0,0 +1,31 @@ +{ + "name": "WebApplicationFirewallComponentVersions", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wafEngineVersion", + "name": "WafEngineVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wafNginxVersion", + "name": "WafNginxVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallPackage.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallPackage.json new file mode 100644 index 00000000000..a29178cb77b --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallPackage.json @@ -0,0 +1,32 @@ +{ + "name": "WebApplicationFirewallPackage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "revisionDatetime", + "name": "RevisionDatetime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "version", + "name": "Version", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallSettings.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallSettings.json new file mode 100644 index 00000000000..90f3c0aaa65 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallSettings.json @@ -0,0 +1,18 @@ +{ + "name": "WebApplicationFirewallSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "activationState", + "name": "ActivationState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ActivationState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallStatus.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallStatus.json new file mode 100644 index 00000000000..49e666fad83 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Model-WebApplicationFirewallStatus.json @@ -0,0 +1,57 @@ +{ + "name": "WebApplicationFirewallStatus", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "attackSignaturesPackage", + "name": "AttackSignaturesPackage", + "objectDefinition": { + "type": "Reference", + "referenceName": "WebApplicationFirewallPackage" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "botSignaturesPackage", + "name": "BotSignaturesPackage", + "objectDefinition": { + "type": "Reference", + "referenceName": "WebApplicationFirewallPackage" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "componentVersions", + "name": "ComponentVersions", + "objectDefinition": { + "type": "Reference", + "referenceName": "WebApplicationFirewallComponentVersions" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "threatCampaignsPackage", + "name": "ThreatCampaignsPackage", + "objectDefinition": { + "type": "Reference", + "referenceName": "WebApplicationFirewallPackage" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsCreateOrUpdate.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsCreateOrUpdate.json new file mode 100644 index 00000000000..ccba6171966 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsCreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "DeploymentsCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "NginxDeploymentId", + "requestObject": { + "type": "Reference", + "referenceName": "NginxDeployment" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NginxDeployment" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsDelete.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsDelete.json new file mode 100644 index 00000000000..b67cde17cd9 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsDelete.json @@ -0,0 +1,12 @@ +{ + "name": "DeploymentsDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "NginxDeploymentId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsGet.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsGet.json new file mode 100644 index 00000000000..c0d2b126a99 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsGet.json @@ -0,0 +1,14 @@ +{ + "name": "DeploymentsGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "NginxDeploymentId", + "responseObject": { + "type": "Reference", + "referenceName": "NginxDeployment" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsList.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsList.json new file mode 100644 index 00000000000..6738debf5aa --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsList.json @@ -0,0 +1,16 @@ +{ + "name": "DeploymentsList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "NginxDeployment" + }, + "uriSuffix": "/providers/Nginx.NginxPlus/nginxDeployments" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsListByResourceGroup.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsListByResourceGroup.json new file mode 100644 index 00000000000..f4500836e66 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "DeploymentsListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "NginxDeployment" + }, + "uriSuffix": "/providers/Nginx.NginxPlus/nginxDeployments" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsUpdate.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsUpdate.json new file mode 100644 index 00000000000..b8163e606b1 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/Operation-DeploymentsUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "DeploymentsUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "NginxDeploymentId", + "requestObject": { + "type": "Reference", + "referenceName": "NginxDeploymentUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "NginxDeployment" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-NginxDeploymentId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-NginxDeploymentId.json new file mode 100644 index 00000000000..cc045f887af --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-NginxDeploymentId.json @@ -0,0 +1,43 @@ +{ + "name": "NginxDeploymentId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Nginx.NginxPlus/nginxDeployments/{nginxDeploymentName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticNginxNginxPlus", + "type": "ResourceProvider", + "value": "Nginx.NginxPlus" + }, + { + "name": "staticNginxDeployments", + "type": "Static", + "value": "nginxDeployments" + }, + { + "name": "nginxDeploymentName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/Nginx/2024-06-01-preview/NginxDeployment/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/metadata.json b/api-definitions/resource-manager/metadata.json index df3111c409f..ccbe529b0cd 100644 --- a/api-definitions/resource-manager/metadata.json +++ b/api-definitions/resource-manager/metadata.json @@ -1,5 +1,5 @@ { "dataSource": "AzureResourceManager", "sourceInformation": "Azure/azure-rest-api-specs", - "gitRevision": "eea7584434f9225cad0327d83d5c6d84257a4d7d" + "gitRevision": "b9e65c8997ce097af3f773a48d2ea2e0535f3cca" } \ No newline at end of file From d919e46761f35a31fc42d7efb47ababf6e6736fd Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 9 Sep 2024 20:30:15 +0100 Subject: [PATCH 110/134] importer-msgraph-metadata: more pluralization and verb exceptions --- .../components/normalize/plurals.go | 1 + .../components/normalize/plurals_test.go | 2 ++ .../components/normalize/verbs.go | 23 +++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/normalize/plurals.go b/tools/importer-msgraph-metadata/components/normalize/plurals.go index 903b7b2c51d..82ec429f0fc 100644 --- a/tools/importer-msgraph-metadata/components/normalize/plurals.go +++ b/tools/importer-msgraph-metadata/components/normalize/plurals.go @@ -20,6 +20,7 @@ var pluralExceptions = []plural{ {"Metadata", "Metadata"}, {"Orderby", "Orderby"}, {"Premise", "Premises"}, + {"Sms", "Sms"}, {"Sortby", "Sortby"}, } diff --git a/tools/importer-msgraph-metadata/components/normalize/plurals_test.go b/tools/importer-msgraph-metadata/components/normalize/plurals_test.go index dd31956ca63..b8c261d718a 100644 --- a/tools/importer-msgraph-metadata/components/normalize/plurals_test.go +++ b/tools/importer-msgraph-metadata/components/normalize/plurals_test.go @@ -34,10 +34,12 @@ func TestSingularize(t *testing.T) { "Orderby": "Orderby", "Ref": "Ref", "Reference": "Reference", + "Sms": "Sms", "Sortby": "Sortby", // Composite singulars to remain the same "OrderBy": "OrderBy", + "ReminderSms": "ReminderSms", "SecurityGroup": "SecurityGroup", "UserData": "UserData", diff --git a/tools/importer-msgraph-metadata/components/normalize/verbs.go b/tools/importer-msgraph-metadata/components/normalize/verbs.go index ac1d365327a..dd3b73eb104 100644 --- a/tools/importer-msgraph-metadata/components/normalize/verbs.go +++ b/tools/importer-msgraph-metadata/components/normalize/verbs.go @@ -14,22 +14,29 @@ var Verbs = operationVerbs{ "Acquire", "Add", "Assign", + "Bypass", "Cancel", "Change", "Check", "Checkin", "Checkout", + "Clean", + "Clear", "Copy", + "CreateOrGet", // match before "Create" "Create", "Decline", "Delete", + "Disable", "Discard", "Discover", "Dismiss", + "Enable", "End", "Erase", "Export", "Extract", + "Forward", "Find", "Follow", "Forward", @@ -39,7 +46,11 @@ var Verbs = operationVerbs{ "Instantiate", "Invoke", "Issue", + "Locate", + "Login", + "Logout", "Mark", + "Move", "Parse", "Pause", "PowerOff", @@ -48,22 +59,31 @@ var Verbs = operationVerbs{ "Process", "Provision", "Reboot", + "Recover", + "RemoteLock", "Remove", "Rename", "Renew", + "ReplyAll", // match before "Reply" + "Reply", "Reprocess", "Reprovision", + "Request", + "Reset", "Resize", "Restart", "Restore", + "Retire", "Retry", "Revoke", "Send", "Set", "Share", + "ShutDown", "Snooze", "Start", "Stop", + "Sync", "TentativelyAccept", "Translate", "Troubleshoot", @@ -84,7 +104,10 @@ func init() { verbMatchers = make(map[string][]*regexp.Regexp) for _, verb := range Verbs { verbMatchers[verb] = []*regexp.Regexp{ + // Match when the entire name is a verb regexp.MustCompile(fmt.Sprintf("^%s$", verb)), + + // Match when the name starts with a verb and is followed by another title-cased word regexp.MustCompile(fmt.Sprintf("^%s[A-Z]", verb)), } } From 06c4a0947a2940864b5170abffd9ec395960dc67 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 9 Sep 2024 20:31:02 +0100 Subject: [PATCH 111/134] importer-msgraph-metadata: deduplicate resource (category) and operation names --- tools/importer-msgraph-metadata/README.md | 2 +- .../internal/pipeline/task_parse_resources.go | 24 ++++++++++++------- .../pipeline/task_translate_service.go | 5 ++-- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/tools/importer-msgraph-metadata/README.md b/tools/importer-msgraph-metadata/README.md index 374f7b19ffb..edfcaa4a448 100644 --- a/tools/importer-msgraph-metadata/README.md +++ b/tools/importer-msgraph-metadata/README.md @@ -42,7 +42,7 @@ This global namespace of models leads to some excessive duplication if we define After importing and processing the API specs using the internal types in `components/parser`, they are then translated to the Data API native types to be persisted in the Data API. There are some things to be aware of in this translation: -* The internal types for Resources have a `Category` and a `Name` - the `Category` maps to the resource name in the data API and the `Name` is used to build operation names. The reason for this approach is that each "resource" in the data API contains multiple Graph resources and/or representations of resources, so the importer organises these internally as "categories" to facilitate grouping of resources prior to translation. +* The internal types for Resources have a `Category` and a `Name` - the `Category` maps to the resource name in the Data API and the `Name` is used to build operation names. The reason for this approach is that each "resource" in the Data API contains multiple Graph resources and/or representations of resources, so the importer organises these internally as "categories" to facilitate grouping of resources prior to translation. When translating resources from the importer's internal representation to the Data API SDK representation, categories are flattened so that operations having the same category get placed in the same resource within the Data API. * All models and constants described in the API spec are considered to be "common types", the only models which are local to a resource are those that represent complex request objects. * Resource IDs are all considered to be resource-local - even though they are intentionally fully-namespaced and are all parsed out together prior to parsing out the resources, so they could in theory _could_ be pooled together as "common resource IDs". However, this would require refactoring of the SDK generator, and at this time (unlike with models), there is no significant overhead to duplicating these. diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index 6405fdf1231..67ddc77b107 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -87,7 +87,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model // len(resourceName)>27 && resourceName[:27]=="DirectoryAdministrativeUnit" if _, ok := resources[resourceName]; !ok { // Create a new resource if not already encountered - logging.Infof(fmt.Sprintf("Found new resource %q (category %q, service %q, version %q)", resourceName, resourceCategory, p.service, p.apiVersion)) + logging.Infof(fmt.Sprintf("Found new resource %q (service %q, version %q)", resourceName, p.service, p.apiVersion)) resources[resourceName] = &parser.Resource{ Name: resourceName, @@ -129,7 +129,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model // can happen when no parent resource ID has been matched, for example if a resource ID was blacklisted. if uriSuffix != nil { if uriSuffixParsed := parser.NewResourceId(*uriSuffix, operationTags); uriSuffixParsed.HasUserValue() { - logging.Infof(fmt.Sprintf("Skipping URI suffix containing user value in resource %q (category %q, service %q, version %q): %q", resourceName, resourceCategory, p.service, p.apiVersion, *uriSuffix)) + logging.Infof(fmt.Sprintf("Skipping URI suffix containing user value in resource %q (service %q, version %q): %q", resourceName, p.service, p.apiVersion, *uriSuffix)) continue } } @@ -301,9 +301,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model continue } - // Determine the base name of the operation, whilst attempting to trim a leading service name since that is redundant - operationName := "" - + // Determine prefixes to trim from the operation name prefixesToTrim := []string{ normalize.CleanName(p.service), normalize.Singularize(normalize.CleanName(p.service)), @@ -314,6 +312,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } + // Trim prefixes from the resourceName to get a shortResourceName, which we'll use to build the operationName and to match for known verbs shortResourceName := resourceName for _, prefixToTrim := range prefixesToTrim { if verb, ok := normalize.Verbs.Match(shortResourceName); ok { @@ -324,11 +323,16 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } - operationName = shortResourceName + // Set the name of the operation using the determined shortResourceName (i.e. resourceName with trimmed prefixes) + operationName := shortResourceName if len(operationName) == 0 { + // If trimming prefixes truncated the operationName, then use the full resourceName operationName = resourceName } + // Remove duplicate words in the operationName + operationName = normalize.DeDuplicateName(operationName) + // Now qualify the operation name based on the type of operation. Additionally, if the operation name // matches a known verb, move that verb to the beginning and use it instead of a standard verb. // For example, a Create operation for "Application" should get an operation name of "CreateApplication", @@ -354,7 +358,7 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } case parser.OperationTypeCreateUpdate: - operationName = fmt.Sprintf("CreateUpdate%s", normalize.Singularize(operationName)) + operationName = fmt.Sprintf("Set%s", normalize.Singularize(operationName)) case parser.OperationTypeUpdate: operationName = fmt.Sprintf("Update%s", normalize.Singularize(operationName)) @@ -561,12 +565,13 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } } - // Loop through resources and trim the leading word if it matches the category _and_ there are more words after it + // Clean up categories for _, resource := range resources { if resource.Service == "" || resource.Category == "" { continue } + // Trim the leading word if it matches the category _and_ there are more words after it serviceSingularized := normalize.Singularize(resource.Service) if strings.HasPrefix(resource.Category, serviceSingularized) { trimmedCategory := strings.TrimPrefix(resource.Category, serviceSingularized) @@ -574,6 +579,9 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model resource.Category = trimmedCategory } } + + // Remove duplicate words in the category + resource.Category = normalize.DeDuplicateName(resource.Category) } return diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index 92175668474..34023773b40 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -63,10 +63,10 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } var requestObject *sdkModels.SDKObjectDefinition - requestObjectIsCommonType := true if operation.RequestModel != nil { schemaName := *operation.RequestModel + requestObjectIsCommonType := true if !p.models.Found(schemaName) { return nil, fmt.Errorf("request model %q was not found for operation: %s", schemaName, operation.Name) @@ -224,11 +224,11 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } var responseObject *sdkModels.SDKObjectDefinition - responseObjectIsCommonType := true for _, response := range operation.Responses { if response.Type != nil && *response.Type == parser.DataTypeReference && response.ReferenceName != nil { schemaName := *response.ReferenceName + responseObjectIsCommonType := true if !p.constants.Found(schemaName) && !p.models.Found(schemaName) { return nil, fmt.Errorf("response constant or model %q was not found for operation: %s", schemaName, operation.Name) @@ -298,6 +298,7 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } } + // Append any service-local models that were discovered for _, model := range serviceModels { sdkModel, err := model.DataApiSdkModel(p.models, p.constants) if err != nil { From f6c4a6dbfe15297cac4a21df2979b7c2cc7e534f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 9 Sep 2024 20:40:10 +0100 Subject: [PATCH 112/134] importer-msgraph-metadata: extend synchronizationsecret workaround to applications --- .../components/workarounds/workaround_synchronizationsecrets.go | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go index 2a93d4276af..fb76a33c514 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go @@ -23,6 +23,7 @@ func (workaroundSynchronizationSecrets) Name() string { func (workaroundSynchronizationSecrets) Process(apiVersion, serviceName string, resources parser.Resources, resourceIds parser.ResourceIds) error { serviceNamesToPaths := map[string]string{ + "applications": "/applications/{application-id}/synchronization/secrets", "servicePrincipals": "/servicePrincipals/{servicePrincipal-id}/synchronization/secrets", } From 8356a4011f272e7e681e3f4bd33365213a2f007c Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Tue, 10 Sep 2024 15:00:49 +0000 Subject: [PATCH 113/134] data: regenerating based on the latest Swagger --- .../2023-11-01/ApiVersionDefinition.json | 9 ++ .../Constant-CheckNameAvailabilityReason.json | 14 +++ .../Constant-ProvisioningState.json | 30 +++++ .../Constant-ResourceState.json | 54 +++++++++ .../FabricCapacities/Constant-RpSkuTier.json | 10 ++ .../Model-CapacityAdministration.json | 22 ++++ .../Model-CheckNameAvailabilityRequest.json | 31 +++++ .../Model-CheckNameAvailabilityResponse.json | 44 +++++++ .../Model-FabricCapacity.json | 109 ++++++++++++++++++ .../Model-FabricCapacityProperties.json | 44 +++++++ .../Model-FabricCapacityUpdate.json | 44 +++++++ .../Model-FabricCapacityUpdateProperties.json | 18 +++ .../FabricCapacities/Model-RpSku.json | 31 +++++ ...Model-RpSkuDetailsForExistingResource.json | 31 +++++ .../Model-RpSkuDetailsForNewResource.json | 48 ++++++++ .../Operation-CheckNameAvailability.json | 19 +++ .../Operation-CreateOrUpdate.json | 19 +++ .../FabricCapacities/Operation-Delete.json | 11 ++ .../FabricCapacities/Operation-Get.json | 14 +++ .../Operation-ListByResourceGroup.json | 16 +++ .../Operation-ListBySubscription.json | 16 +++ .../FabricCapacities/Operation-ListSkus.json | 16 +++ .../Operation-ListSkusForCapacity.json | 16 +++ .../FabricCapacities/Operation-Resume.json | 12 ++ .../FabricCapacities/Operation-Suspend.json | 12 ++ .../FabricCapacities/Operation-Update.json | 19 +++ .../ResourceId-CapacityId.json | 43 +++++++ .../ResourceId-LocationId.json | 34 ++++++ .../ResourceId-ResourceGroupId.json | 25 ++++ .../ResourceId-SubscriptionId.json | 16 +++ .../Fabric/ServiceDefinition.json | 5 + 31 files changed, 832 insertions(+) create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/ApiVersionDefinition.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-CheckNameAvailabilityReason.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ResourceState.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-RpSkuTier.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CapacityAdministration.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityRequest.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityResponse.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacity.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityProperties.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdate.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdateProperties.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSku.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForExistingResource.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForNewResource.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CheckNameAvailability.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Delete.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Get.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListByResourceGroup.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListBySubscription.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkus.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkusForCapacity.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Resume.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Suspend.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Update.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-CapacityId.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-LocationId.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/Fabric/ServiceDefinition.json diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/ApiVersionDefinition.json b/api-definitions/resource-manager/Fabric/2023-11-01/ApiVersionDefinition.json new file mode 100644 index 00000000000..18a62e289fe --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/ApiVersionDefinition.json @@ -0,0 +1,9 @@ +{ + "apiVersion": "2023-11-01", + "isPreview": false, + "generate": true, + "resources": [ + "FabricCapacities" + ], + "source": "Azure/azure-rest-api-specs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-CheckNameAvailabilityReason.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-CheckNameAvailabilityReason.json new file mode 100644 index 00000000000..5dbac62f0d0 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-CheckNameAvailabilityReason.json @@ -0,0 +1,14 @@ +{ + "name": "CheckNameAvailabilityReason", + "type": "String", + "values": [ + { + "key": "AlreadyExists", + "value": "AlreadyExists" + }, + { + "key": "Invalid", + "value": "Invalid" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ProvisioningState.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ProvisioningState.json new file mode 100644 index 00000000000..376db17aaf0 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ProvisioningState.json @@ -0,0 +1,30 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ResourceState.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ResourceState.json new file mode 100644 index 00000000000..4af8cba6b32 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-ResourceState.json @@ -0,0 +1,54 @@ +{ + "name": "ResourceState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "Active" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Paused", + "value": "Paused" + }, + { + "key": "Pausing", + "value": "Pausing" + }, + { + "key": "Preparing", + "value": "Preparing" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Resuming", + "value": "Resuming" + }, + { + "key": "Scaling", + "value": "Scaling" + }, + { + "key": "Suspended", + "value": "Suspended" + }, + { + "key": "Suspending", + "value": "Suspending" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-RpSkuTier.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-RpSkuTier.json new file mode 100644 index 00000000000..6fca82b3ddc --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Constant-RpSkuTier.json @@ -0,0 +1,10 @@ +{ + "name": "RpSkuTier", + "type": "String", + "values": [ + { + "key": "Fabric", + "value": "Fabric" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CapacityAdministration.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CapacityAdministration.json new file mode 100644 index 00000000000..9578aba56e5 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CapacityAdministration.json @@ -0,0 +1,22 @@ +{ + "name": "CapacityAdministration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "members", + "name": "Members", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityRequest.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityRequest.json new file mode 100644 index 00000000000..3cfe7963c95 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityRequest.json @@ -0,0 +1,31 @@ +{ + "name": "CheckNameAvailabilityRequest", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityResponse.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityResponse.json new file mode 100644 index 00000000000..0e7f40a89df --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-CheckNameAvailabilityResponse.json @@ -0,0 +1,44 @@ +{ + "name": "CheckNameAvailabilityResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityReason" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacity.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacity.json new file mode 100644 index 00000000000..7ac5234b20a --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacity.json @@ -0,0 +1,109 @@ +{ + "name": "FabricCapacity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "FabricCapacityProperties" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "RpSku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityProperties.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityProperties.json new file mode 100644 index 00000000000..1a3b23a30a4 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityProperties.json @@ -0,0 +1,44 @@ +{ + "name": "FabricCapacityProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "administration", + "name": "Administration", + "objectDefinition": { + "type": "Reference", + "referenceName": "CapacityAdministration" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdate.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdate.json new file mode 100644 index 00000000000..e135a827827 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdate.json @@ -0,0 +1,44 @@ +{ + "name": "FabricCapacityUpdate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "FabricCapacityUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "RpSku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdateProperties.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdateProperties.json new file mode 100644 index 00000000000..02d18d44f44 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-FabricCapacityUpdateProperties.json @@ -0,0 +1,18 @@ +{ + "name": "FabricCapacityUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "administration", + "name": "Administration", + "objectDefinition": { + "type": "Reference", + "referenceName": "CapacityAdministration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSku.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSku.json new file mode 100644 index 00000000000..1df66b27113 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSku.json @@ -0,0 +1,31 @@ +{ + "name": "RpSku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tier", + "name": "Tier", + "objectDefinition": { + "type": "Reference", + "referenceName": "RpSkuTier" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForExistingResource.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForExistingResource.json new file mode 100644 index 00000000000..e93c4e6d99d --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForExistingResource.json @@ -0,0 +1,31 @@ +{ + "name": "RpSkuDetailsForExistingResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "RpSku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForNewResource.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForNewResource.json new file mode 100644 index 00000000000..655fcdc0ba5 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Model-RpSkuDetailsForNewResource.json @@ -0,0 +1,48 @@ +{ + "name": "RpSkuDetailsForNewResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locations", + "name": "Locations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CheckNameAvailability.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CheckNameAvailability.json new file mode 100644 index 00000000000..6296dd21244 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "name": "CheckNameAvailability", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "LocationId", + "requestObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityRequest" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityResponse" + }, + "uriSuffix": "/checkNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..9c6c997ddee --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "CapacityId", + "requestObject": { + "type": "Reference", + "referenceName": "FabricCapacity" + }, + "responseObject": { + "type": "Reference", + "referenceName": "FabricCapacity" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Delete.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Delete.json new file mode 100644 index 00000000000..1f9c400fd94 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "CapacityId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Get.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Get.json new file mode 100644 index 00000000000..c85bb1db07d --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CapacityId", + "responseObject": { + "type": "Reference", + "referenceName": "FabricCapacity" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListByResourceGroup.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListByResourceGroup.json new file mode 100644 index 00000000000..6df49af55e1 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "FabricCapacity" + }, + "uriSuffix": "/providers/Microsoft.Fabric/capacities" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListBySubscription.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListBySubscription.json new file mode 100644 index 00000000000..b604460854f --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListBySubscription.json @@ -0,0 +1,16 @@ +{ + "name": "ListBySubscription", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "FabricCapacity" + }, + "uriSuffix": "/providers/Microsoft.Fabric/capacities" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkus.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkus.json new file mode 100644 index 00000000000..1f19c17275b --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkus.json @@ -0,0 +1,16 @@ +{ + "name": "ListSkus", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "RpSkuDetailsForNewResource" + }, + "uriSuffix": "/providers/Microsoft.Fabric/skus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkusForCapacity.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkusForCapacity.json new file mode 100644 index 00000000000..8ee81a2f271 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-ListSkusForCapacity.json @@ -0,0 +1,16 @@ +{ + "name": "ListSkusForCapacity", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CapacityId", + "responseObject": { + "type": "Reference", + "referenceName": "RpSkuDetailsForExistingResource" + }, + "uriSuffix": "/skus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Resume.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Resume.json new file mode 100644 index 00000000000..7f8e317558e --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Resume.json @@ -0,0 +1,12 @@ +{ + "name": "Resume", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "CapacityId", + "uriSuffix": "/resume" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Suspend.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Suspend.json new file mode 100644 index 00000000000..d19b8ef8c8e --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Suspend.json @@ -0,0 +1,12 @@ +{ + "name": "Suspend", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "CapacityId", + "uriSuffix": "/suspend" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Update.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Update.json new file mode 100644 index 00000000000..b69855b6daa --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "CapacityId", + "requestObject": { + "type": "Reference", + "referenceName": "FabricCapacityUpdate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "FabricCapacity" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-CapacityId.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-CapacityId.json new file mode 100644 index 00000000000..b635522b02f --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-CapacityId.json @@ -0,0 +1,43 @@ +{ + "name": "CapacityId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric/capacities/{capacityName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftFabric", + "type": "ResourceProvider", + "value": "Microsoft.Fabric" + }, + { + "name": "staticCapacities", + "type": "Static", + "value": "capacities" + }, + { + "name": "capacityName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-LocationId.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-LocationId.json new file mode 100644 index 00000000000..e2901e3a2f0 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-LocationId.json @@ -0,0 +1,34 @@ +{ + "name": "LocationId", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Fabric/locations/{locationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftFabric", + "type": "ResourceProvider", + "value": "Microsoft.Fabric" + }, + { + "name": "staticLocations", + "type": "Static", + "value": "locations" + }, + { + "name": "locationName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/2023-11-01/FabricCapacities/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/Fabric/ServiceDefinition.json b/api-definitions/resource-manager/Fabric/ServiceDefinition.json new file mode 100644 index 00000000000..182f2ee0907 --- /dev/null +++ b/api-definitions/resource-manager/Fabric/ServiceDefinition.json @@ -0,0 +1,5 @@ +{ + "name": "Fabric", + "resourceProvider": "Microsoft.Fabric", + "generate": true +} \ No newline at end of file From ed0e69b4e6dcedb90f6cf0a81735a8fb02362fb1 Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Tue, 10 Sep 2024 15:32:44 +0000 Subject: [PATCH 114/134] data: regenerating based on the latest Swagger --- .../2024-07-01/ApiVersionDefinition.json | 13 + .../Constant-ProvisioningState.json | 30 +++ .../FirewallRules/Model-FirewallRule.json | 70 +++++ .../Model-FirewallRuleProperties.json | 44 ++++ .../Operation-CreateOrUpdate.json | 20 ++ .../FirewallRules/Operation-Delete.json | 11 + .../FirewallRules/Operation-Get.json | 14 + .../Operation-ListByMongoCluster.json | 16 ++ .../ResourceId-FirewallRuleId.json | 52 ++++ .../ResourceId-MongoClusterId.json | 43 +++ .../Constant-CheckNameAvailabilityReason.json | 14 + .../MongoClusters/Constant-CreateMode.json | 22 ++ .../Constant-HighAvailabilityMode.json | 18 ++ .../Constant-MongoClusterStatus.json | 34 +++ .../Constant-PreviewFeature.json | 10 + ...teEndpointConnectionProvisioningState.json | 22 ++ ...rivateEndpointServiceConnectionStatus.json | 18 ++ .../MongoClusters/Constant-PromoteMode.json | 10 + .../MongoClusters/Constant-PromoteOption.json | 10 + .../Constant-ProvisioningState.json | 30 +++ .../Constant-PublicNetworkAccess.json | 14 + .../Constant-ReplicationRole.json | 18 ++ .../Constant-ReplicationState.json | 30 +++ .../Model-AdministratorProperties.json | 31 +++ .../MongoClusters/Model-BackupProperties.json | 18 ++ .../Model-CheckNameAvailabilityRequest.json | 31 +++ .../Model-CheckNameAvailabilityResponse.json | 44 ++++ .../Model-ComputeProperties.json | 18 ++ .../MongoClusters/Model-ConnectionString.json | 44 ++++ .../Model-HighAvailabilityProperties.json | 18 ++ .../Model-ListConnectionStringsResult.json | 22 ++ .../MongoClusters/Model-MongoCluster.json | 96 +++++++ .../Model-MongoClusterProperties.json | 247 ++++++++++++++++++ .../Model-MongoClusterReplicaParameters.json | 31 +++ .../Model-MongoClusterRestoreParameters.json | 32 +++ .../Model-MongoClusterUpdate.json | 31 +++ .../Model-MongoClusterUpdateProperties.json | 126 +++++++++ .../MongoClusters/Model-PrivateEndpoint.json | 18 ++ .../Model-PrivateEndpointConnection.json | 70 +++++ ...l-PrivateEndpointConnectionProperties.json | 61 +++++ ...del-PrivateLinkServiceConnectionState.json | 44 ++++ .../Model-PromoteReplicaRequest.json | 31 +++ .../Model-ReplicationProperties.json | 44 ++++ .../Model-ShardingProperties.json | 18 ++ .../Model-StorageProperties.json | 18 ++ .../Operation-CheckNameAvailability.json | 19 ++ .../Operation-CreateOrUpdate.json | 19 ++ .../MongoClusters/Operation-Delete.json | 11 + .../MongoClusters/Operation-Get.json | 14 + .../MongoClusters/Operation-List.json | 16 ++ .../Operation-ListByResourceGroup.json | 16 ++ .../Operation-ListConnectionStrings.json | 15 ++ .../MongoClusters/Operation-Promote.json | 15 ++ .../MongoClusters/Operation-Update.json | 19 ++ .../MongoClusters/ResourceId-LocationId.json | 34 +++ .../ResourceId-MongoClusterId.json | 43 +++ .../ResourceId-ResourceGroupId.json | 25 ++ .../ResourceId-SubscriptionId.json | 16 ++ ...teEndpointConnectionProvisioningState.json | 22 ++ ...rivateEndpointServiceConnectionStatus.json | 18 ++ .../Model-PrivateEndpoint.json | 18 ++ ...l-PrivateEndpointConnectionProperties.json | 61 +++++ ...del-PrivateEndpointConnectionResource.json | 70 +++++ ...del-PrivateLinkServiceConnectionState.json | 44 ++++ .../Operation-Create.json | 20 ++ .../Operation-Delete.json | 11 + .../Operation-Get.json | 14 + .../Operation-ListByMongoCluster.json | 16 ++ .../ResourceId-MongoClusterId.json | 43 +++ ...esourceId-PrivateEndpointConnectionId.json | 52 ++++ .../Model-PrivateLinkResource.json | 70 +++++ .../Model-PrivateLinkResourceProperties.json | 52 ++++ .../Operation-ListByMongoCluster.json | 16 ++ .../ResourceId-MongoClusterId.json | 43 +++ .../Replicas/Constant-CreateMode.json | 22 ++ .../Constant-HighAvailabilityMode.json | 18 ++ .../Replicas/Constant-MongoClusterStatus.json | 34 +++ .../Replicas/Constant-PreviewFeature.json | 10 + ...teEndpointConnectionProvisioningState.json | 22 ++ ...rivateEndpointServiceConnectionStatus.json | 18 ++ .../Replicas/Constant-ProvisioningState.json | 30 +++ .../Constant-PublicNetworkAccess.json | 14 + .../Replicas/Constant-ReplicationRole.json | 18 ++ .../Replicas/Constant-ReplicationState.json | 30 +++ .../Model-AdministratorProperties.json | 31 +++ .../Replicas/Model-BackupProperties.json | 18 ++ .../Replicas/Model-ComputeProperties.json | 18 ++ .../Model-HighAvailabilityProperties.json | 18 ++ .../Model-MongoClusterProperties.json | 247 ++++++++++++++++++ .../Model-MongoClusterReplicaParameters.json | 31 +++ .../Model-MongoClusterRestoreParameters.json | 32 +++ .../Replicas/Model-PrivateEndpoint.json | 18 ++ .../Model-PrivateEndpointConnection.json | 70 +++++ ...l-PrivateEndpointConnectionProperties.json | 61 +++++ ...del-PrivateLinkServiceConnectionState.json | 44 ++++ .../2024-07-01/Replicas/Model-Replica.json | 70 +++++ .../Replicas/Model-ReplicationProperties.json | 44 ++++ .../Replicas/Model-ShardingProperties.json | 18 ++ .../Replicas/Model-StorageProperties.json | 18 ++ .../Replicas/Operation-ListByParent.json | 16 ++ .../Replicas/ResourceId-MongoClusterId.json | 43 +++ .../MongoCluster/ServiceDefinition.json | 5 + 102 files changed, 3506 insertions(+) create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/ApiVersionDefinition.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRule.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRuleProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Delete.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Get.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-ListByMongoCluster.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-FirewallRuleId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-MongoClusterId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CheckNameAvailabilityReason.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CreateMode.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-HighAvailabilityMode.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-MongoClusterStatus.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PreviewFeature.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointConnectionProvisioningState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointServiceConnectionStatus.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteMode.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteOption.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PublicNetworkAccess.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationRole.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-AdministratorProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-BackupProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityRequest.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityResponse.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ComputeProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ConnectionString.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-HighAvailabilityProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ListConnectionStringsResult.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoCluster.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterReplicaParameters.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterRestoreParameters.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdate.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdateProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpoint.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnection.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnectionProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateLinkServiceConnectionState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PromoteReplicaRequest.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ReplicationProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ShardingProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-StorageProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CheckNameAvailability.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Delete.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Get.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-List.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListByResourceGroup.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListConnectionStrings.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Promote.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Update.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-LocationId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-MongoClusterId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpoint.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionResource.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Create.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Delete.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Get.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-ListByMongoCluster.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-MongoClusterId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResource.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResourceProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Operation-ListByMongoCluster.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/ResourceId-MongoClusterId.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-CreateMode.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-HighAvailabilityMode.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-MongoClusterStatus.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PreviewFeature.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointConnectionProvisioningState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointServiceConnectionStatus.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PublicNetworkAccess.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationRole.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-AdministratorProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-BackupProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ComputeProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-HighAvailabilityProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterReplicaParameters.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterRestoreParameters.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpoint.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnection.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnectionProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateLinkServiceConnectionState.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-Replica.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ReplicationProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ShardingProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-StorageProperties.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Operation-ListByParent.json create mode 100644 api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/ResourceId-MongoClusterId.json create mode 100644 api-definitions/resource-manager/MongoCluster/ServiceDefinition.json diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/ApiVersionDefinition.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/ApiVersionDefinition.json new file mode 100644 index 00000000000..2a0b26dccc5 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/ApiVersionDefinition.json @@ -0,0 +1,13 @@ +{ + "apiVersion": "2024-07-01", + "isPreview": false, + "generate": true, + "resources": [ + "FirewallRules", + "MongoClusters", + "PrivateEndpointConnections", + "PrivateLinks", + "Replicas" + ], + "source": "Azure/azure-rest-api-specs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Constant-ProvisioningState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Constant-ProvisioningState.json new file mode 100644 index 00000000000..1a3c5b8c09b --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Constant-ProvisioningState.json @@ -0,0 +1,30 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Dropping", + "value": "Dropping" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRule.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRule.json new file mode 100644 index 00000000000..d3e347546a9 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRule.json @@ -0,0 +1,70 @@ +{ + "name": "FirewallRule", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "FirewallRuleProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRuleProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRuleProperties.json new file mode 100644 index 00000000000..bc2dca68f9c --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Model-FirewallRuleProperties.json @@ -0,0 +1,44 @@ +{ + "name": "FirewallRuleProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endIpAddress", + "name": "EndIPAddress", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "startIpAddress", + "name": "StartIPAddress", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..ece65c3bbe8 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-CreateOrUpdate.json @@ -0,0 +1,20 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "FirewallRuleId", + "requestObject": { + "type": "Reference", + "referenceName": "FirewallRule" + }, + "responseObject": { + "type": "Reference", + "referenceName": "FirewallRule" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Delete.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Delete.json new file mode 100644 index 00000000000..9bb461e6549 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "FirewallRuleId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Get.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Get.json new file mode 100644 index 00000000000..82cb34cfd74 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "FirewallRuleId", + "responseObject": { + "type": "Reference", + "referenceName": "FirewallRule" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-ListByMongoCluster.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-ListByMongoCluster.json new file mode 100644 index 00000000000..12213cd1754 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/Operation-ListByMongoCluster.json @@ -0,0 +1,16 @@ +{ + "name": "ListByMongoCluster", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "MongoClusterId", + "responseObject": { + "type": "Reference", + "referenceName": "FirewallRule" + }, + "uriSuffix": "/firewallRules" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-FirewallRuleId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-FirewallRuleId.json new file mode 100644 index 00000000000..349efd5d8a7 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-FirewallRuleId.json @@ -0,0 +1,52 @@ +{ + "name": "FirewallRuleId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticMongoClusters", + "type": "Static", + "value": "mongoClusters" + }, + { + "name": "mongoClusterName", + "type": "UserSpecified" + }, + { + "name": "staticFirewallRules", + "type": "Static", + "value": "firewallRules" + }, + { + "name": "firewallRuleName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-MongoClusterId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-MongoClusterId.json new file mode 100644 index 00000000000..c333fdd9407 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/FirewallRules/ResourceId-MongoClusterId.json @@ -0,0 +1,43 @@ +{ + "name": "MongoClusterId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticMongoClusters", + "type": "Static", + "value": "mongoClusters" + }, + { + "name": "mongoClusterName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CheckNameAvailabilityReason.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CheckNameAvailabilityReason.json new file mode 100644 index 00000000000..5dbac62f0d0 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CheckNameAvailabilityReason.json @@ -0,0 +1,14 @@ +{ + "name": "CheckNameAvailabilityReason", + "type": "String", + "values": [ + { + "key": "AlreadyExists", + "value": "AlreadyExists" + }, + { + "key": "Invalid", + "value": "Invalid" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CreateMode.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CreateMode.json new file mode 100644 index 00000000000..43a45f40eb9 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-CreateMode.json @@ -0,0 +1,22 @@ +{ + "name": "CreateMode", + "type": "String", + "values": [ + { + "key": "Default", + "value": "Default" + }, + { + "key": "GeoReplica", + "value": "GeoReplica" + }, + { + "key": "PointInTimeRestore", + "value": "PointInTimeRestore" + }, + { + "key": "Replica", + "value": "Replica" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-HighAvailabilityMode.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-HighAvailabilityMode.json new file mode 100644 index 00000000000..457ced08053 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-HighAvailabilityMode.json @@ -0,0 +1,18 @@ +{ + "name": "HighAvailabilityMode", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "SameZone", + "value": "SameZone" + }, + { + "key": "ZoneRedundantPreferred", + "value": "ZoneRedundantPreferred" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-MongoClusterStatus.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-MongoClusterStatus.json new file mode 100644 index 00000000000..1ec098235a7 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-MongoClusterStatus.json @@ -0,0 +1,34 @@ +{ + "name": "MongoClusterStatus", + "type": "String", + "values": [ + { + "key": "Dropping", + "value": "Dropping" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Ready", + "value": "Ready" + }, + { + "key": "Starting", + "value": "Starting" + }, + { + "key": "Stopped", + "value": "Stopped" + }, + { + "key": "Stopping", + "value": "Stopping" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PreviewFeature.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PreviewFeature.json new file mode 100644 index 00000000000..942be0001e5 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PreviewFeature.json @@ -0,0 +1,10 @@ +{ + "name": "PreviewFeature", + "type": "String", + "values": [ + { + "key": "GeoReplicas", + "value": "GeoReplicas" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointConnectionProvisioningState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointConnectionProvisioningState.json new file mode 100644 index 00000000000..210b0540d01 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointConnectionProvisioningState.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointServiceConnectionStatus.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointServiceConnectionStatus.json new file mode 100644 index 00000000000..5deff56fd45 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PrivateEndpointServiceConnectionStatus.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointServiceConnectionStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteMode.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteMode.json new file mode 100644 index 00000000000..9caa47ff170 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteMode.json @@ -0,0 +1,10 @@ +{ + "name": "PromoteMode", + "type": "String", + "values": [ + { + "key": "Switchover", + "value": "Switchover" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteOption.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteOption.json new file mode 100644 index 00000000000..f871f817f8c --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PromoteOption.json @@ -0,0 +1,10 @@ +{ + "name": "PromoteOption", + "type": "String", + "values": [ + { + "key": "Forced", + "value": "Forced" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ProvisioningState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ProvisioningState.json new file mode 100644 index 00000000000..1a3c5b8c09b --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ProvisioningState.json @@ -0,0 +1,30 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Dropping", + "value": "Dropping" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PublicNetworkAccess.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PublicNetworkAccess.json new file mode 100644 index 00000000000..0a5ee893f1e --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-PublicNetworkAccess.json @@ -0,0 +1,14 @@ +{ + "name": "PublicNetworkAccess", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationRole.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationRole.json new file mode 100644 index 00000000000..c36ced3c390 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationRole.json @@ -0,0 +1,18 @@ +{ + "name": "ReplicationRole", + "type": "String", + "values": [ + { + "key": "AsyncReplica", + "value": "AsyncReplica" + }, + { + "key": "GeoAsyncReplica", + "value": "GeoAsyncReplica" + }, + { + "key": "Primary", + "value": "Primary" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationState.json new file mode 100644 index 00000000000..1f0175f1a15 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Constant-ReplicationState.json @@ -0,0 +1,30 @@ +{ + "name": "ReplicationState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "Active" + }, + { + "key": "Broken", + "value": "Broken" + }, + { + "key": "Catchup", + "value": "Catchup" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Reconfiguring", + "value": "Reconfiguring" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-AdministratorProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-AdministratorProperties.json new file mode 100644 index 00000000000..d8dac634758 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-AdministratorProperties.json @@ -0,0 +1,31 @@ +{ + "name": "AdministratorProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "password", + "name": "Password", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userName", + "name": "UserName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-BackupProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-BackupProperties.json new file mode 100644 index 00000000000..afbf1f1f8d1 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-BackupProperties.json @@ -0,0 +1,18 @@ +{ + "name": "BackupProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "earliestRestoreTime", + "name": "EarliestRestoreTime", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityRequest.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityRequest.json new file mode 100644 index 00000000000..3cfe7963c95 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityRequest.json @@ -0,0 +1,31 @@ +{ + "name": "CheckNameAvailabilityRequest", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityResponse.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityResponse.json new file mode 100644 index 00000000000..0e7f40a89df --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-CheckNameAvailabilityResponse.json @@ -0,0 +1,44 @@ +{ + "name": "CheckNameAvailabilityResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityReason" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ComputeProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ComputeProperties.json new file mode 100644 index 00000000000..e8bc1c245dc --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ComputeProperties.json @@ -0,0 +1,18 @@ +{ + "name": "ComputeProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tier", + "name": "Tier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ConnectionString.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ConnectionString.json new file mode 100644 index 00000000000..38350a1891f --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ConnectionString.json @@ -0,0 +1,44 @@ +{ + "name": "ConnectionString", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectionString", + "name": "ConnectionString", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-HighAvailabilityProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-HighAvailabilityProperties.json new file mode 100644 index 00000000000..639009f9dca --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-HighAvailabilityProperties.json @@ -0,0 +1,18 @@ +{ + "name": "HighAvailabilityProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "targetMode", + "name": "TargetMode", + "objectDefinition": { + "type": "Reference", + "referenceName": "HighAvailabilityMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ListConnectionStringsResult.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ListConnectionStringsResult.json new file mode 100644 index 00000000000..bf4de55f09c --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ListConnectionStringsResult.json @@ -0,0 +1,22 @@ +{ + "name": "ListConnectionStringsResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectionStrings", + "name": "ConnectionStrings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ConnectionString" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoCluster.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoCluster.json new file mode 100644 index 00000000000..d424365083a --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoCluster.json @@ -0,0 +1,96 @@ +{ + "name": "MongoCluster", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterProperties.json new file mode 100644 index 00000000000..4730efe8518 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterProperties.json @@ -0,0 +1,247 @@ +{ + "name": "MongoClusterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "administrator", + "name": "Administrator", + "objectDefinition": { + "type": "Reference", + "referenceName": "AdministratorProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backup", + "name": "Backup", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackupProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clusterStatus", + "name": "ClusterStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "compute", + "name": "Compute", + "objectDefinition": { + "type": "Reference", + "referenceName": "ComputeProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectionString", + "name": "ConnectionString", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "createMode", + "name": "CreateMode", + "objectDefinition": { + "type": "Reference", + "referenceName": "CreateMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "highAvailability", + "name": "HighAvailability", + "objectDefinition": { + "type": "Reference", + "referenceName": "HighAvailabilityProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "infrastructureVersion", + "name": "InfrastructureVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "previewFeatures", + "name": "PreviewFeatures", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PreviewFeature" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpointConnections", + "name": "PrivateEndpointConnections", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicNetworkAccess", + "name": "PublicNetworkAccess", + "objectDefinition": { + "type": "Reference", + "referenceName": "PublicNetworkAccess" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "replica", + "name": "Replica", + "objectDefinition": { + "type": "Reference", + "referenceName": "ReplicationProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "replicaParameters", + "name": "ReplicaParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterReplicaParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restoreParameters", + "name": "RestoreParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterRestoreParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serverVersion", + "name": "ServerVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sharding", + "name": "Sharding", + "objectDefinition": { + "type": "Reference", + "referenceName": "ShardingProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storage", + "name": "Storage", + "objectDefinition": { + "type": "Reference", + "referenceName": "StorageProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterReplicaParameters.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterReplicaParameters.json new file mode 100644 index 00000000000..040900c56a8 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterReplicaParameters.json @@ -0,0 +1,31 @@ +{ + "name": "MongoClusterReplicaParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceLocation", + "name": "SourceLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceResourceId", + "name": "SourceResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterRestoreParameters.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterRestoreParameters.json new file mode 100644 index 00000000000..04e3a324940 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterRestoreParameters.json @@ -0,0 +1,32 @@ +{ + "name": "MongoClusterRestoreParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "pointInTimeUTC", + "name": "PointInTimeUTC", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceResourceId", + "name": "SourceResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdate.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdate.json new file mode 100644 index 00000000000..9e2af0ea604 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdate.json @@ -0,0 +1,31 @@ +{ + "name": "MongoClusterUpdate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdateProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdateProperties.json new file mode 100644 index 00000000000..4827bf53af9 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-MongoClusterUpdateProperties.json @@ -0,0 +1,126 @@ +{ + "name": "MongoClusterUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "administrator", + "name": "Administrator", + "objectDefinition": { + "type": "Reference", + "referenceName": "AdministratorProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backup", + "name": "Backup", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackupProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "compute", + "name": "Compute", + "objectDefinition": { + "type": "Reference", + "referenceName": "ComputeProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "highAvailability", + "name": "HighAvailability", + "objectDefinition": { + "type": "Reference", + "referenceName": "HighAvailabilityProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "previewFeatures", + "name": "PreviewFeatures", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PreviewFeature" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicNetworkAccess", + "name": "PublicNetworkAccess", + "objectDefinition": { + "type": "Reference", + "referenceName": "PublicNetworkAccess" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serverVersion", + "name": "ServerVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sharding", + "name": "Sharding", + "objectDefinition": { + "type": "Reference", + "referenceName": "ShardingProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storage", + "name": "Storage", + "objectDefinition": { + "type": "Reference", + "referenceName": "StorageProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpoint.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpoint.json new file mode 100644 index 00000000000..94d38d15c12 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpoint.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnection.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnection.json new file mode 100644 index 00000000000..75b56b6ac04 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnection.json @@ -0,0 +1,70 @@ +{ + "name": "PrivateEndpointConnection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnectionProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnectionProperties.json new file mode 100644 index 00000000000..921368523d4 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateEndpointConnectionProperties.json @@ -0,0 +1,61 @@ +{ + "name": "PrivateEndpointConnectionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupIds", + "name": "GroupIds", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpoint", + "name": "PrivateEndpoint", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpoint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateLinkServiceConnectionState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateLinkServiceConnectionState.json new file mode 100644 index 00000000000..6c33dde96cb --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PrivateLinkServiceConnectionState.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateLinkServiceConnectionState", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionsRequired", + "name": "ActionsRequired", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointServiceConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PromoteReplicaRequest.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PromoteReplicaRequest.json new file mode 100644 index 00000000000..a5c59d5d884 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-PromoteReplicaRequest.json @@ -0,0 +1,31 @@ +{ + "name": "PromoteReplicaRequest", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "mode", + "name": "Mode", + "objectDefinition": { + "type": "Reference", + "referenceName": "PromoteMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "promoteOption", + "name": "PromoteOption", + "objectDefinition": { + "type": "Reference", + "referenceName": "PromoteOption" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ReplicationProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ReplicationProperties.json new file mode 100644 index 00000000000..59790af92bd --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ReplicationProperties.json @@ -0,0 +1,44 @@ +{ + "name": "ReplicationProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "replicationState", + "name": "ReplicationState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ReplicationState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "role", + "name": "Role", + "objectDefinition": { + "type": "Reference", + "referenceName": "ReplicationRole" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceResourceId", + "name": "SourceResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ShardingProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ShardingProperties.json new file mode 100644 index 00000000000..b2184f04ca0 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-ShardingProperties.json @@ -0,0 +1,18 @@ +{ + "name": "ShardingProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "shardCount", + "name": "ShardCount", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-StorageProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-StorageProperties.json new file mode 100644 index 00000000000..e0d62503378 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Model-StorageProperties.json @@ -0,0 +1,18 @@ +{ + "name": "StorageProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sizeGb", + "name": "SizeGb", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CheckNameAvailability.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CheckNameAvailability.json new file mode 100644 index 00000000000..06bbbdfad9e --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "name": "CheckNameAvailability", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "LocationId", + "requestObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityRequest" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityResponse" + }, + "uriSuffix": "/checkMongoClusterNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..f39e876c32b --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "MongoClusterId", + "requestObject": { + "type": "Reference", + "referenceName": "MongoCluster" + }, + "responseObject": { + "type": "Reference", + "referenceName": "MongoCluster" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Delete.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Delete.json new file mode 100644 index 00000000000..7226d8a8d64 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "MongoClusterId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Get.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Get.json new file mode 100644 index 00000000000..64f2e7a443f --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "MongoClusterId", + "responseObject": { + "type": "Reference", + "referenceName": "MongoCluster" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-List.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-List.json new file mode 100644 index 00000000000..a39c8deb363 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-List.json @@ -0,0 +1,16 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "MongoCluster" + }, + "uriSuffix": "/providers/Microsoft.DocumentDB/mongoClusters" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListByResourceGroup.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListByResourceGroup.json new file mode 100644 index 00000000000..6ede0c7a79e --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "MongoCluster" + }, + "uriSuffix": "/providers/Microsoft.DocumentDB/mongoClusters" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListConnectionStrings.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListConnectionStrings.json new file mode 100644 index 00000000000..02913f54438 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-ListConnectionStrings.json @@ -0,0 +1,15 @@ +{ + "name": "ListConnectionStrings", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "MongoClusterId", + "responseObject": { + "type": "Reference", + "referenceName": "ListConnectionStringsResult" + }, + "uriSuffix": "/listConnectionStrings" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Promote.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Promote.json new file mode 100644 index 00000000000..fbd0ba9eca8 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Promote.json @@ -0,0 +1,15 @@ +{ + "name": "Promote", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "MongoClusterId", + "requestObject": { + "type": "Reference", + "referenceName": "PromoteReplicaRequest" + }, + "uriSuffix": "/promote" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Update.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Update.json new file mode 100644 index 00000000000..bafc97c0bec --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "MongoClusterId", + "requestObject": { + "type": "Reference", + "referenceName": "MongoClusterUpdate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "MongoCluster" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-LocationId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-LocationId.json new file mode 100644 index 00000000000..a287c48284c --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-LocationId.json @@ -0,0 +1,34 @@ +{ + "name": "LocationId", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{locationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticLocations", + "type": "Static", + "value": "locations" + }, + { + "name": "locationName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-MongoClusterId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-MongoClusterId.json new file mode 100644 index 00000000000..c333fdd9407 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-MongoClusterId.json @@ -0,0 +1,43 @@ +{ + "name": "MongoClusterId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticMongoClusters", + "type": "Static", + "value": "mongoClusters" + }, + { + "name": "mongoClusterName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/MongoClusters/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json new file mode 100644 index 00000000000..210b0540d01 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json new file mode 100644 index 00000000000..5deff56fd45 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointServiceConnectionStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpoint.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpoint.json new file mode 100644 index 00000000000..94d38d15c12 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpoint.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json new file mode 100644 index 00000000000..921368523d4 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json @@ -0,0 +1,61 @@ +{ + "name": "PrivateEndpointConnectionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupIds", + "name": "GroupIds", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpoint", + "name": "PrivateEndpoint", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpoint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionResource.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionResource.json new file mode 100644 index 00000000000..9c6daaac9a4 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateEndpointConnectionResource.json @@ -0,0 +1,70 @@ +{ + "name": "PrivateEndpointConnectionResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json new file mode 100644 index 00000000000..6c33dde96cb --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateLinkServiceConnectionState", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionsRequired", + "name": "ActionsRequired", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointServiceConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Create.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Create.json new file mode 100644 index 00000000000..ef6bce70345 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "PrivateEndpointConnectionId", + "requestObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionResource" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Delete.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Delete.json new file mode 100644 index 00000000000..7ead9639822 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "PrivateEndpointConnectionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Get.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Get.json new file mode 100644 index 00000000000..6de86db6987 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PrivateEndpointConnectionId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionResource" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-ListByMongoCluster.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-ListByMongoCluster.json new file mode 100644 index 00000000000..614b24cf7c0 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/Operation-ListByMongoCluster.json @@ -0,0 +1,16 @@ +{ + "name": "ListByMongoCluster", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "MongoClusterId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionResource" + }, + "uriSuffix": "/privateEndpointConnections" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-MongoClusterId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-MongoClusterId.json new file mode 100644 index 00000000000..c333fdd9407 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-MongoClusterId.json @@ -0,0 +1,43 @@ +{ + "name": "MongoClusterId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticMongoClusters", + "type": "Static", + "value": "mongoClusters" + }, + { + "name": "mongoClusterName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json new file mode 100644 index 00000000000..fcda9e86bce --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json @@ -0,0 +1,52 @@ +{ + "name": "PrivateEndpointConnectionId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticMongoClusters", + "type": "Static", + "value": "mongoClusters" + }, + { + "name": "mongoClusterName", + "type": "UserSpecified" + }, + { + "name": "staticPrivateEndpointConnections", + "type": "Static", + "value": "privateEndpointConnections" + }, + { + "name": "privateEndpointConnectionName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResource.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResource.json new file mode 100644 index 00000000000..762c3e68357 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResource.json @@ -0,0 +1,70 @@ +{ + "name": "PrivateLinkResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkResourceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResourceProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResourceProperties.json new file mode 100644 index 00000000000..77b9aad7e67 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Model-PrivateLinkResourceProperties.json @@ -0,0 +1,52 @@ +{ + "name": "PrivateLinkResourceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupId", + "name": "GroupId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requiredMembers", + "name": "RequiredMembers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requiredZoneNames", + "name": "RequiredZoneNames", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Operation-ListByMongoCluster.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Operation-ListByMongoCluster.json new file mode 100644 index 00000000000..9ac28311ea6 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/Operation-ListByMongoCluster.json @@ -0,0 +1,16 @@ +{ + "name": "ListByMongoCluster", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "MongoClusterId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateLinkResource" + }, + "uriSuffix": "/privateLinkResources" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/ResourceId-MongoClusterId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/ResourceId-MongoClusterId.json new file mode 100644 index 00000000000..c333fdd9407 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/PrivateLinks/ResourceId-MongoClusterId.json @@ -0,0 +1,43 @@ +{ + "name": "MongoClusterId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticMongoClusters", + "type": "Static", + "value": "mongoClusters" + }, + { + "name": "mongoClusterName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-CreateMode.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-CreateMode.json new file mode 100644 index 00000000000..43a45f40eb9 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-CreateMode.json @@ -0,0 +1,22 @@ +{ + "name": "CreateMode", + "type": "String", + "values": [ + { + "key": "Default", + "value": "Default" + }, + { + "key": "GeoReplica", + "value": "GeoReplica" + }, + { + "key": "PointInTimeRestore", + "value": "PointInTimeRestore" + }, + { + "key": "Replica", + "value": "Replica" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-HighAvailabilityMode.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-HighAvailabilityMode.json new file mode 100644 index 00000000000..457ced08053 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-HighAvailabilityMode.json @@ -0,0 +1,18 @@ +{ + "name": "HighAvailabilityMode", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "SameZone", + "value": "SameZone" + }, + { + "key": "ZoneRedundantPreferred", + "value": "ZoneRedundantPreferred" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-MongoClusterStatus.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-MongoClusterStatus.json new file mode 100644 index 00000000000..1ec098235a7 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-MongoClusterStatus.json @@ -0,0 +1,34 @@ +{ + "name": "MongoClusterStatus", + "type": "String", + "values": [ + { + "key": "Dropping", + "value": "Dropping" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Ready", + "value": "Ready" + }, + { + "key": "Starting", + "value": "Starting" + }, + { + "key": "Stopped", + "value": "Stopped" + }, + { + "key": "Stopping", + "value": "Stopping" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PreviewFeature.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PreviewFeature.json new file mode 100644 index 00000000000..942be0001e5 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PreviewFeature.json @@ -0,0 +1,10 @@ +{ + "name": "PreviewFeature", + "type": "String", + "values": [ + { + "key": "GeoReplicas", + "value": "GeoReplicas" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointConnectionProvisioningState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointConnectionProvisioningState.json new file mode 100644 index 00000000000..210b0540d01 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointConnectionProvisioningState.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointServiceConnectionStatus.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointServiceConnectionStatus.json new file mode 100644 index 00000000000..5deff56fd45 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PrivateEndpointServiceConnectionStatus.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointServiceConnectionStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ProvisioningState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ProvisioningState.json new file mode 100644 index 00000000000..1a3c5b8c09b --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ProvisioningState.json @@ -0,0 +1,30 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Dropping", + "value": "Dropping" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PublicNetworkAccess.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PublicNetworkAccess.json new file mode 100644 index 00000000000..0a5ee893f1e --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-PublicNetworkAccess.json @@ -0,0 +1,14 @@ +{ + "name": "PublicNetworkAccess", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationRole.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationRole.json new file mode 100644 index 00000000000..c36ced3c390 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationRole.json @@ -0,0 +1,18 @@ +{ + "name": "ReplicationRole", + "type": "String", + "values": [ + { + "key": "AsyncReplica", + "value": "AsyncReplica" + }, + { + "key": "GeoAsyncReplica", + "value": "GeoAsyncReplica" + }, + { + "key": "Primary", + "value": "Primary" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationState.json new file mode 100644 index 00000000000..1f0175f1a15 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Constant-ReplicationState.json @@ -0,0 +1,30 @@ +{ + "name": "ReplicationState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "Active" + }, + { + "key": "Broken", + "value": "Broken" + }, + { + "key": "Catchup", + "value": "Catchup" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Reconfiguring", + "value": "Reconfiguring" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-AdministratorProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-AdministratorProperties.json new file mode 100644 index 00000000000..d8dac634758 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-AdministratorProperties.json @@ -0,0 +1,31 @@ +{ + "name": "AdministratorProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "password", + "name": "Password", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userName", + "name": "UserName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-BackupProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-BackupProperties.json new file mode 100644 index 00000000000..afbf1f1f8d1 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-BackupProperties.json @@ -0,0 +1,18 @@ +{ + "name": "BackupProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "earliestRestoreTime", + "name": "EarliestRestoreTime", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ComputeProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ComputeProperties.json new file mode 100644 index 00000000000..e8bc1c245dc --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ComputeProperties.json @@ -0,0 +1,18 @@ +{ + "name": "ComputeProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tier", + "name": "Tier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-HighAvailabilityProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-HighAvailabilityProperties.json new file mode 100644 index 00000000000..639009f9dca --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-HighAvailabilityProperties.json @@ -0,0 +1,18 @@ +{ + "name": "HighAvailabilityProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "targetMode", + "name": "TargetMode", + "objectDefinition": { + "type": "Reference", + "referenceName": "HighAvailabilityMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterProperties.json new file mode 100644 index 00000000000..4730efe8518 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterProperties.json @@ -0,0 +1,247 @@ +{ + "name": "MongoClusterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "administrator", + "name": "Administrator", + "objectDefinition": { + "type": "Reference", + "referenceName": "AdministratorProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "backup", + "name": "Backup", + "objectDefinition": { + "type": "Reference", + "referenceName": "BackupProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clusterStatus", + "name": "ClusterStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "compute", + "name": "Compute", + "objectDefinition": { + "type": "Reference", + "referenceName": "ComputeProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "connectionString", + "name": "ConnectionString", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "createMode", + "name": "CreateMode", + "objectDefinition": { + "type": "Reference", + "referenceName": "CreateMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "highAvailability", + "name": "HighAvailability", + "objectDefinition": { + "type": "Reference", + "referenceName": "HighAvailabilityProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "infrastructureVersion", + "name": "InfrastructureVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "previewFeatures", + "name": "PreviewFeatures", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PreviewFeature" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpointConnections", + "name": "PrivateEndpointConnections", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "publicNetworkAccess", + "name": "PublicNetworkAccess", + "objectDefinition": { + "type": "Reference", + "referenceName": "PublicNetworkAccess" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "replica", + "name": "Replica", + "objectDefinition": { + "type": "Reference", + "referenceName": "ReplicationProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "replicaParameters", + "name": "ReplicaParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterReplicaParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restoreParameters", + "name": "RestoreParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterRestoreParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "serverVersion", + "name": "ServerVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sharding", + "name": "Sharding", + "objectDefinition": { + "type": "Reference", + "referenceName": "ShardingProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storage", + "name": "Storage", + "objectDefinition": { + "type": "Reference", + "referenceName": "StorageProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterReplicaParameters.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterReplicaParameters.json new file mode 100644 index 00000000000..040900c56a8 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterReplicaParameters.json @@ -0,0 +1,31 @@ +{ + "name": "MongoClusterReplicaParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceLocation", + "name": "SourceLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceResourceId", + "name": "SourceResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterRestoreParameters.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterRestoreParameters.json new file mode 100644 index 00000000000..04e3a324940 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-MongoClusterRestoreParameters.json @@ -0,0 +1,32 @@ +{ + "name": "MongoClusterRestoreParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "pointInTimeUTC", + "name": "PointInTimeUTC", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceResourceId", + "name": "SourceResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpoint.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpoint.json new file mode 100644 index 00000000000..94d38d15c12 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpoint.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnection.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnection.json new file mode 100644 index 00000000000..75b56b6ac04 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnection.json @@ -0,0 +1,70 @@ +{ + "name": "PrivateEndpointConnection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnectionProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnectionProperties.json new file mode 100644 index 00000000000..921368523d4 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateEndpointConnectionProperties.json @@ -0,0 +1,61 @@ +{ + "name": "PrivateEndpointConnectionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupIds", + "name": "GroupIds", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpoint", + "name": "PrivateEndpoint", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpoint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateLinkServiceConnectionState.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateLinkServiceConnectionState.json new file mode 100644 index 00000000000..6c33dde96cb --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-PrivateLinkServiceConnectionState.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateLinkServiceConnectionState", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionsRequired", + "name": "ActionsRequired", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointServiceConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-Replica.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-Replica.json new file mode 100644 index 00000000000..7519efd3a14 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-Replica.json @@ -0,0 +1,70 @@ +{ + "name": "Replica", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "MongoClusterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ReplicationProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ReplicationProperties.json new file mode 100644 index 00000000000..59790af92bd --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ReplicationProperties.json @@ -0,0 +1,44 @@ +{ + "name": "ReplicationProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "replicationState", + "name": "ReplicationState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ReplicationState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "role", + "name": "Role", + "objectDefinition": { + "type": "Reference", + "referenceName": "ReplicationRole" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourceResourceId", + "name": "SourceResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ShardingProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ShardingProperties.json new file mode 100644 index 00000000000..b2184f04ca0 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-ShardingProperties.json @@ -0,0 +1,18 @@ +{ + "name": "ShardingProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "shardCount", + "name": "ShardCount", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-StorageProperties.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-StorageProperties.json new file mode 100644 index 00000000000..e0d62503378 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Model-StorageProperties.json @@ -0,0 +1,18 @@ +{ + "name": "StorageProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sizeGb", + "name": "SizeGb", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Operation-ListByParent.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Operation-ListByParent.json new file mode 100644 index 00000000000..30c3348ddce --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/Operation-ListByParent.json @@ -0,0 +1,16 @@ +{ + "name": "ListByParent", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "MongoClusterId", + "responseObject": { + "type": "Reference", + "referenceName": "Replica" + }, + "uriSuffix": "/replicas" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/ResourceId-MongoClusterId.json b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/ResourceId-MongoClusterId.json new file mode 100644 index 00000000000..c333fdd9407 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/2024-07-01/Replicas/ResourceId-MongoClusterId.json @@ -0,0 +1,43 @@ +{ + "name": "MongoClusterId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDocumentDB", + "type": "ResourceProvider", + "value": "Microsoft.DocumentDB" + }, + { + "name": "staticMongoClusters", + "type": "Static", + "value": "mongoClusters" + }, + { + "name": "mongoClusterName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/MongoCluster/ServiceDefinition.json b/api-definitions/resource-manager/MongoCluster/ServiceDefinition.json new file mode 100644 index 00000000000..e7b7b4a15f8 --- /dev/null +++ b/api-definitions/resource-manager/MongoCluster/ServiceDefinition.json @@ -0,0 +1,5 @@ +{ + "name": "MongoCluster", + "resourceProvider": "Microsoft.DocumentDB", + "generate": true +} \ No newline at end of file From 48c57d0993a6e417025e60fb03e4b77fd42661ba Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Tue, 10 Sep 2024 15:47:21 +0000 Subject: [PATCH 115/134] config: regenerating based on the latest Swagger --- config/resource-manager.hcl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index d90a5b908a4..d111f2c1194 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -196,14 +196,14 @@ service "deviceupdate" { name = "DeviceUpdate" available = ["2022-10-01", "2023-07-01"] } +service "devopsinfrastructure" { + name = "DevOpsInfrastructure" + available = ["2024-04-04-preview"] +} service "devtestlabs" { name = "DevTestLab" available = ["2018-09-15"] } -service "devopsinfrastructure" { - name = "DevOpsInfrastructure" - available = ["2024-04-04-preview"] -} service "digitaltwins" { name = "DigitalTwins" available = ["2023-01-31"] From f245d91f61387137612f29cbeb3e1a3e847307ef Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Tue, 10 Sep 2024 16:28:33 +0000 Subject: [PATCH 116/134] data: regenerating based on the latest Swagger --- .../ApiVersionDefinition.json | 13 ++ .../ImageVersions/Model-ImageVersion.json | 70 ++++++++++ .../Model-ImageVersionProperties.json | 18 +++ .../ImageVersions/Operation-ListByImage.json | 16 +++ .../ImageVersions/ResourceId-ImageId.json | 43 ++++++ .../Constant-AzureDevOpsPermissionType.json | 18 +++ .../Pools/Constant-CachingType.json | 18 +++ .../Pools/Constant-LogonType.json | 14 ++ .../Constant-OsDiskStorageAccountType.json | 18 +++ .../Pools/Constant-PredictionPreference.json | 26 ++++ .../Pools/Constant-ProvisioningState.json | 34 +++++ ...nstant-ResourcePredictionsProfileType.json | 14 ++ .../Pools/Constant-StorageAccountType.json | 26 ++++ .../Pools/Model-AgentProfile.json | 45 +++++++ ...l-AutomaticResourcePredictionsProfile.json | 21 +++ .../Model-AzureDevOpsOrganizationProfile.json | 38 ++++++ .../Model-AzureDevOpsPermissionProfile.json | 52 ++++++++ .../Pools/Model-DataDisk.json | 57 ++++++++ .../Pools/Model-DevOpsAzureSku.json | 18 +++ .../Pools/Model-FabricProfile.json | 19 +++ .../Pools/Model-GitHubOrganization.json | 35 +++++ .../Model-GitHubOrganizationProfile.json | 25 ++++ ...odel-ManualResourcePredictionsProfile.json | 7 + .../Pools/Model-NetworkProfile.json | 18 +++ .../Pools/Model-Organization.json | 48 +++++++ .../Pools/Model-OrganizationProfile.json | 19 +++ .../Pools/Model-OsProfile.json | 31 +++++ .../2024-04-04-preview/Pools/Model-Pool.json | 109 +++++++++++++++ .../Pools/Model-PoolImage.json | 61 +++++++++ .../Pools/Model-PoolProperties.json | 83 ++++++++++++ .../Pools/Model-PoolUpdate.json | 44 ++++++ .../Pools/Model-PoolUpdateProperties.json | 83 ++++++++++++ .../Model-ResourcePredictionsProfile.json | 19 +++ .../Model-SecretsManagementSettings.json | 48 +++++++ .../Pools/Model-Stateful.json | 34 +++++ .../Pools/Model-StatelessAgentProfile.json | 7 + .../Pools/Model-StorageProfile.json | 35 +++++ .../Pools/Model-VMSSFabricProfile.json | 77 +++++++++++ .../Pools/Operation-CreateOrUpdate.json | 19 +++ .../Pools/Operation-Delete.json | 11 ++ .../Pools/Operation-Get.json | 14 ++ .../Pools/Operation-ListByResourceGroup.json | 16 +++ .../Pools/Operation-ListBySubscription.json | 16 +++ .../Pools/Operation-Update.json | 19 +++ .../Pools/ResourceId-PoolId.json | 43 ++++++ .../Pools/ResourceId-ResourceGroupId.json | 25 ++++ .../Pools/ResourceId-SubscriptionId.json | 16 +++ .../Constant-ResourceStatus.json | 50 +++++++ .../Model-ResourceDetailsObject.json | 70 ++++++++++ ...Model-ResourceDetailsObjectProperties.json | 44 ++++++ .../ResourceDetails/Operation-ListByPool.json | 16 +++ .../ResourceDetails/ResourceId-PoolId.json | 43 ++++++ ...ant-ResourceSkuRestrictionsReasonCode.json | 14 ++ .../Constant-ResourceSkuRestrictionsType.json | 14 ++ .../Sku/Model-ResourceSku.json | 70 ++++++++++ .../Sku/Model-ResourceSkuCapabilities.json | 31 +++++ .../Sku/Model-ResourceSkuLocationInfo.json | 48 +++++++ .../Sku/Model-ResourceSkuProperties.json | 125 ++++++++++++++++++ .../Sku/Model-ResourceSkuRestrictionInfo.json | 35 +++++ .../Sku/Model-ResourceSkuRestrictions.json | 61 +++++++++ .../Sku/Model-ResourceSkuZoneDetails.json | 39 ++++++ .../Sku/Operation-ListByLocation.json | 16 +++ .../Sku/ResourceId-LocationId.json | 34 +++++ .../SubscriptionUsages/Model-Quota.json | 70 ++++++++++ .../SubscriptionUsages/Model-QuotaName.json | 31 +++++ .../SubscriptionUsages/Operation-Usages.json | 16 +++ .../ResourceId-LocationId.json | 34 +++++ .../ServiceDefinition.json | 5 + 68 files changed, 2406 insertions(+) create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ApiVersionDefinition.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersion.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersionProperties.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Operation-ListByImage.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/ResourceId-ImageId.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-AzureDevOpsPermissionType.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-CachingType.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-LogonType.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-OsDiskStorageAccountType.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-PredictionPreference.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ResourcePredictionsProfileType.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-StorageAccountType.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AgentProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AutomaticResourcePredictionsProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsOrganizationProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsPermissionProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DataDisk.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DevOpsAzureSku.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-FabricProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganization.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganizationProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ManualResourcePredictionsProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-NetworkProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Organization.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OrganizationProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OsProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Pool.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolImage.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolProperties.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdate.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdateProperties.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ResourcePredictionsProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-SecretsManagementSettings.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Stateful.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StatelessAgentProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StorageProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-VMSSFabricProfile.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-CreateOrUpdate.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Delete.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Get.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListByResourceGroup.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListBySubscription.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Update.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-PoolId.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Constant-ResourceStatus.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObject.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObjectProperties.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Operation-ListByPool.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/ResourceId-PoolId.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsReasonCode.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsType.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSku.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuCapabilities.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuLocationInfo.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuProperties.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictionInfo.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictions.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuZoneDetails.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Operation-ListByLocation.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/ResourceId-LocationId.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-Quota.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-QuotaName.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Operation-Usages.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/ResourceId-LocationId.json create mode 100644 api-definitions/resource-manager/DevOpsInfrastructure/ServiceDefinition.json diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ApiVersionDefinition.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ApiVersionDefinition.json new file mode 100644 index 00000000000..d752675d554 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ApiVersionDefinition.json @@ -0,0 +1,13 @@ +{ + "apiVersion": "2024-04-04-preview", + "isPreview": true, + "generate": true, + "resources": [ + "ImageVersions", + "Pools", + "ResourceDetails", + "Sku", + "SubscriptionUsages" + ], + "source": "Azure/azure-rest-api-specs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersion.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersion.json new file mode 100644 index 00000000000..bab8a937ac1 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersion.json @@ -0,0 +1,70 @@ +{ + "name": "ImageVersion", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ImageVersionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersionProperties.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersionProperties.json new file mode 100644 index 00000000000..31414149894 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Model-ImageVersionProperties.json @@ -0,0 +1,18 @@ +{ + "name": "ImageVersionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "version", + "name": "Version", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Operation-ListByImage.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Operation-ListByImage.json new file mode 100644 index 00000000000..b05eb0808b0 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/Operation-ListByImage.json @@ -0,0 +1,16 @@ +{ + "name": "ListByImage", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ImageId", + "responseObject": { + "type": "Reference", + "referenceName": "ImageVersion" + }, + "uriSuffix": "/versions" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/ResourceId-ImageId.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/ResourceId-ImageId.json new file mode 100644 index 00000000000..5a87ffceeba --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ImageVersions/ResourceId-ImageId.json @@ -0,0 +1,43 @@ +{ + "name": "ImageId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOpsInfrastructure/images/{imageName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDevOpsInfrastructure", + "type": "ResourceProvider", + "value": "Microsoft.DevOpsInfrastructure" + }, + { + "name": "staticImages", + "type": "Static", + "value": "images" + }, + { + "name": "imageName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-AzureDevOpsPermissionType.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-AzureDevOpsPermissionType.json new file mode 100644 index 00000000000..59d50c756d7 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-AzureDevOpsPermissionType.json @@ -0,0 +1,18 @@ +{ + "name": "AzureDevOpsPermissionType", + "type": "String", + "values": [ + { + "key": "CreatorOnly", + "value": "CreatorOnly" + }, + { + "key": "Inherit", + "value": "Inherit" + }, + { + "key": "SpecificAccounts", + "value": "SpecificAccounts" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-CachingType.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-CachingType.json new file mode 100644 index 00000000000..80305a7b40a --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-CachingType.json @@ -0,0 +1,18 @@ +{ + "name": "CachingType", + "type": "String", + "values": [ + { + "key": "None", + "value": "None" + }, + { + "key": "ReadOnly", + "value": "ReadOnly" + }, + { + "key": "ReadWrite", + "value": "ReadWrite" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-LogonType.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-LogonType.json new file mode 100644 index 00000000000..49af4372e46 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-LogonType.json @@ -0,0 +1,14 @@ +{ + "name": "LogonType", + "type": "String", + "values": [ + { + "key": "Interactive", + "value": "Interactive" + }, + { + "key": "Service", + "value": "Service" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-OsDiskStorageAccountType.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-OsDiskStorageAccountType.json new file mode 100644 index 00000000000..5ce54dfab3b --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-OsDiskStorageAccountType.json @@ -0,0 +1,18 @@ +{ + "name": "OsDiskStorageAccountType", + "type": "String", + "values": [ + { + "key": "Premium", + "value": "Premium" + }, + { + "key": "Standard", + "value": "Standard" + }, + { + "key": "StandardSSD", + "value": "StandardSSD" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-PredictionPreference.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-PredictionPreference.json new file mode 100644 index 00000000000..f8dbbe20b20 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-PredictionPreference.json @@ -0,0 +1,26 @@ +{ + "name": "PredictionPreference", + "type": "String", + "values": [ + { + "key": "Balanced", + "value": "Balanced" + }, + { + "key": "BestPerformance", + "value": "BestPerformance" + }, + { + "key": "MoreCostEffective", + "value": "MoreCostEffective" + }, + { + "key": "MorePerformance", + "value": "MorePerformance" + }, + { + "key": "MostCostEffective", + "value": "MostCostEffective" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ProvisioningState.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ProvisioningState.json new file mode 100644 index 00000000000..a56a170f8b4 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ProvisioningState.json @@ -0,0 +1,34 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Accepted", + "value": "Accepted" + }, + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ResourcePredictionsProfileType.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ResourcePredictionsProfileType.json new file mode 100644 index 00000000000..9947b613dcc --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-ResourcePredictionsProfileType.json @@ -0,0 +1,14 @@ +{ + "name": "ResourcePredictionsProfileType", + "type": "String", + "values": [ + { + "key": "Automatic", + "value": "Automatic" + }, + { + "key": "Manual", + "value": "Manual" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-StorageAccountType.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-StorageAccountType.json new file mode 100644 index 00000000000..d1ba0375028 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Constant-StorageAccountType.json @@ -0,0 +1,26 @@ +{ + "name": "StorageAccountType", + "type": "String", + "values": [ + { + "key": "PremiumLRS", + "value": "Premium_LRS" + }, + { + "key": "PremiumZRS", + "value": "Premium_ZRS" + }, + { + "key": "StandardLRS", + "value": "Standard_LRS" + }, + { + "key": "StandardSSDLRS", + "value": "StandardSSD_LRS" + }, + { + "key": "StandardSSDZRS", + "value": "StandardSSD_ZRS" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AgentProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AgentProfile.json new file mode 100644 index 00000000000..3a119a4b3fd --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AgentProfile.json @@ -0,0 +1,45 @@ +{ + "name": "AgentProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourcePredictions", + "name": "ResourcePredictions", + "objectDefinition": { + "type": "RawObject", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourcePredictionsProfile", + "name": "ResourcePredictionsProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourcePredictionsProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AutomaticResourcePredictionsProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AutomaticResourcePredictionsProfile.json new file mode 100644 index 00000000000..595454d695a --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AutomaticResourcePredictionsProfile.json @@ -0,0 +1,21 @@ +{ + "name": "AutomaticResourcePredictionsProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "predictionPreference", + "name": "PredictionPreference", + "objectDefinition": { + "type": "Reference", + "referenceName": "PredictionPreference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "ResourcePredictionsProfile", + "discriminatedTypeValue": "Automatic", + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsOrganizationProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsOrganizationProfile.json new file mode 100644 index 00000000000..23d467ea330 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsOrganizationProfile.json @@ -0,0 +1,38 @@ +{ + "name": "AzureDevOpsOrganizationProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "organizations", + "name": "Organizations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Organization" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "permissionProfile", + "name": "PermissionProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "AzureDevOpsPermissionProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "OrganizationProfile", + "discriminatedTypeValue": "AzureDevOps", + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsPermissionProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsPermissionProfile.json new file mode 100644 index 00000000000..6b4e3a99143 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-AzureDevOpsPermissionProfile.json @@ -0,0 +1,52 @@ +{ + "name": "AzureDevOpsPermissionProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groups", + "name": "Groups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "Reference", + "referenceName": "AzureDevOpsPermissionType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "users", + "name": "Users", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DataDisk.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DataDisk.json new file mode 100644 index 00000000000..16dbafc90ba --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DataDisk.json @@ -0,0 +1,57 @@ +{ + "name": "DataDisk", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "caching", + "name": "Caching", + "objectDefinition": { + "type": "Reference", + "referenceName": "CachingType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "diskSizeGiB", + "name": "DiskSizeGiB", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "driveLetter", + "name": "DriveLetter", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storageAccountType", + "name": "StorageAccountType", + "objectDefinition": { + "type": "Reference", + "referenceName": "StorageAccountType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DevOpsAzureSku.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DevOpsAzureSku.json new file mode 100644 index 00000000000..6a29a82fb9c --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-DevOpsAzureSku.json @@ -0,0 +1,18 @@ +{ + "name": "DevOpsAzureSku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-FabricProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-FabricProfile.json new file mode 100644 index 00000000000..07dcd69ed13 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-FabricProfile.json @@ -0,0 +1,19 @@ +{ + "name": "FabricProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganization.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganization.json new file mode 100644 index 00000000000..e750c5665a4 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganization.json @@ -0,0 +1,35 @@ +{ + "name": "GitHubOrganization", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "repositories", + "name": "Repositories", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganizationProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganizationProfile.json new file mode 100644 index 00000000000..88d7de9a8e5 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-GitHubOrganizationProfile.json @@ -0,0 +1,25 @@ +{ + "name": "GitHubOrganizationProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "organizations", + "name": "Organizations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GitHubOrganization" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "OrganizationProfile", + "discriminatedTypeValue": "GitHub", + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ManualResourcePredictionsProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ManualResourcePredictionsProfile.json new file mode 100644 index 00000000000..d7974687725 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ManualResourcePredictionsProfile.json @@ -0,0 +1,7 @@ +{ + "name": "ManualResourcePredictionsProfile", + "fields": [], + "discriminatedParentModelName": "ResourcePredictionsProfile", + "discriminatedTypeValue": "Manual", + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-NetworkProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-NetworkProfile.json new file mode 100644 index 00000000000..4bcbfb102d2 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-NetworkProfile.json @@ -0,0 +1,18 @@ +{ + "name": "NetworkProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subnetId", + "name": "SubnetId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Organization.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Organization.json new file mode 100644 index 00000000000..0681be0fbe7 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Organization.json @@ -0,0 +1,48 @@ +{ + "name": "Organization", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parallelism", + "name": "Parallelism", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "projects", + "name": "Projects", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "url", + "name": "Url", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OrganizationProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OrganizationProfile.json new file mode 100644 index 00000000000..2ae2df289dd --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OrganizationProfile.json @@ -0,0 +1,19 @@ +{ + "name": "OrganizationProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OsProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OsProfile.json new file mode 100644 index 00000000000..6f3ec75a7ef --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-OsProfile.json @@ -0,0 +1,31 @@ +{ + "name": "OsProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logonType", + "name": "LogonType", + "objectDefinition": { + "type": "Reference", + "referenceName": "LogonType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretsManagementSettings", + "name": "SecretsManagementSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecretsManagementSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Pool.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Pool.json new file mode 100644 index 00000000000..bd80d5d7c5f --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Pool.json @@ -0,0 +1,109 @@ +{ + "name": "Pool", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "LegacySystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PoolProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolImage.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolImage.json new file mode 100644 index 00000000000..51bea63d805 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolImage.json @@ -0,0 +1,61 @@ +{ + "name": "PoolImage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "aliases", + "name": "Aliases", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "buffer", + "name": "Buffer", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceId", + "name": "ResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wellKnownImageName", + "name": "WellKnownImageName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolProperties.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolProperties.json new file mode 100644 index 00000000000..0eefc2e1f9e --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolProperties.json @@ -0,0 +1,83 @@ +{ + "name": "PoolProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "agentProfile", + "name": "AgentProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "AgentProfile" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "devCenterProjectResourceId", + "name": "DevCenterProjectResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "fabricProfile", + "name": "FabricProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "FabricProfile" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maximumConcurrency", + "name": "MaximumConcurrency", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "organizationProfile", + "name": "OrganizationProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "OrganizationProfile" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdate.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdate.json new file mode 100644 index 00000000000..cf1d2945cd9 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdate.json @@ -0,0 +1,44 @@ +{ + "name": "PoolUpdate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "LegacySystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PoolUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdateProperties.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdateProperties.json new file mode 100644 index 00000000000..5f431defc95 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-PoolUpdateProperties.json @@ -0,0 +1,83 @@ +{ + "name": "PoolUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "agentProfile", + "name": "AgentProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "AgentProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "devCenterProjectResourceId", + "name": "DevCenterProjectResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "fabricProfile", + "name": "FabricProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "FabricProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maximumConcurrency", + "name": "MaximumConcurrency", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "organizationProfile", + "name": "OrganizationProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "OrganizationProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ResourcePredictionsProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ResourcePredictionsProfile.json new file mode 100644 index 00000000000..1395288c0f0 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-ResourcePredictionsProfile.json @@ -0,0 +1,19 @@ +{ + "name": "ResourcePredictionsProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourcePredictionsProfileType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-SecretsManagementSettings.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-SecretsManagementSettings.json new file mode 100644 index 00000000000..63abdcdc0d8 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-SecretsManagementSettings.json @@ -0,0 +1,48 @@ +{ + "name": "SecretsManagementSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateStoreLocation", + "name": "CertificateStoreLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyExportable", + "name": "KeyExportable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "observedCertificates", + "name": "ObservedCertificates", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Stateful.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Stateful.json new file mode 100644 index 00000000000..798cc67cf59 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-Stateful.json @@ -0,0 +1,34 @@ +{ + "name": "Stateful", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "gracePeriodTimeSpan", + "name": "GracePeriodTimeSpan", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "maxAgentLifetime", + "name": "MaxAgentLifetime", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "AgentProfile", + "discriminatedTypeValue": "Stateful", + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StatelessAgentProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StatelessAgentProfile.json new file mode 100644 index 00000000000..ef718c8f7dd --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StatelessAgentProfile.json @@ -0,0 +1,7 @@ +{ + "name": "StatelessAgentProfile", + "fields": [], + "discriminatedParentModelName": "AgentProfile", + "discriminatedTypeValue": "Stateless", + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StorageProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StorageProfile.json new file mode 100644 index 00000000000..47117a0d3b0 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-StorageProfile.json @@ -0,0 +1,35 @@ +{ + "name": "StorageProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "dataDisks", + "name": "DataDisks", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DataDisk" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "osDiskStorageAccountType", + "name": "OsDiskStorageAccountType", + "objectDefinition": { + "type": "Reference", + "referenceName": "OsDiskStorageAccountType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-VMSSFabricProfile.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-VMSSFabricProfile.json new file mode 100644 index 00000000000..a89e4ffc5af --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Model-VMSSFabricProfile.json @@ -0,0 +1,77 @@ +{ + "name": "VMSSFabricProfile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "images", + "name": "Images", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PoolImage" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "networkProfile", + "name": "NetworkProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "NetworkProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "osProfile", + "name": "OsProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "OsProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "DevOpsAzureSku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "storageProfile", + "name": "StorageProfile", + "objectDefinition": { + "type": "Reference", + "referenceName": "StorageProfile" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "FabricProfile", + "discriminatedTypeValue": "Vmss", + "typeHintIn": "Kind" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-CreateOrUpdate.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-CreateOrUpdate.json new file mode 100644 index 00000000000..31b5cbb7651 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-CreateOrUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "CreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "PoolId", + "requestObject": { + "type": "Reference", + "referenceName": "Pool" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Pool" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Delete.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Delete.json new file mode 100644 index 00000000000..91e4c0adcb9 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Delete.json @@ -0,0 +1,11 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "PoolId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Get.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Get.json new file mode 100644 index 00000000000..7c41db9bbca --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PoolId", + "responseObject": { + "type": "Reference", + "referenceName": "Pool" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListByResourceGroup.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListByResourceGroup.json new file mode 100644 index 00000000000..aa2b997b76d --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "Pool" + }, + "uriSuffix": "/providers/Microsoft.DevOpsInfrastructure/pools" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListBySubscription.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListBySubscription.json new file mode 100644 index 00000000000..22f7077e47b --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-ListBySubscription.json @@ -0,0 +1,16 @@ +{ + "name": "ListBySubscription", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "Pool" + }, + "uriSuffix": "/providers/Microsoft.DevOpsInfrastructure/pools" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Update.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Update.json new file mode 100644 index 00000000000..5145c4fe564 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "PoolId", + "requestObject": { + "type": "Reference", + "referenceName": "PoolUpdate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Pool" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-PoolId.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-PoolId.json new file mode 100644 index 00000000000..7a90fb4e21e --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-PoolId.json @@ -0,0 +1,43 @@ +{ + "name": "PoolId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOpsInfrastructure/pools/{poolName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDevOpsInfrastructure", + "type": "ResourceProvider", + "value": "Microsoft.DevOpsInfrastructure" + }, + { + "name": "staticPools", + "type": "Static", + "value": "pools" + }, + { + "name": "poolName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Pools/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Constant-ResourceStatus.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Constant-ResourceStatus.json new file mode 100644 index 00000000000..e72d5e6b11a --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Constant-ResourceStatus.json @@ -0,0 +1,50 @@ +{ + "name": "ResourceStatus", + "type": "String", + "values": [ + { + "key": "Allocated", + "value": "Allocated" + }, + { + "key": "Leased", + "value": "Leased" + }, + { + "key": "NotReady", + "value": "NotReady" + }, + { + "key": "PendingReimage", + "value": "PendingReimage" + }, + { + "key": "PendingReturn", + "value": "PendingReturn" + }, + { + "key": "Provisioning", + "value": "Provisioning" + }, + { + "key": "Ready", + "value": "Ready" + }, + { + "key": "Reimaging", + "value": "Reimaging" + }, + { + "key": "Returned", + "value": "Returned" + }, + { + "key": "Starting", + "value": "Starting" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObject.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObject.json new file mode 100644 index 00000000000..0d6611737b3 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObject.json @@ -0,0 +1,70 @@ +{ + "name": "ResourceDetailsObject", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceDetailsObjectProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObjectProperties.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObjectProperties.json new file mode 100644 index 00000000000..55d430b5787 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Model-ResourceDetailsObjectProperties.json @@ -0,0 +1,44 @@ +{ + "name": "ResourceDetailsObjectProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "image", + "name": "Image", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "imageVersion", + "name": "ImageVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceStatus" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Operation-ListByPool.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Operation-ListByPool.json new file mode 100644 index 00000000000..fb3fa68662c --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/Operation-ListByPool.json @@ -0,0 +1,16 @@ +{ + "name": "ListByPool", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PoolId", + "responseObject": { + "type": "Reference", + "referenceName": "ResourceDetailsObject" + }, + "uriSuffix": "/resources" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/ResourceId-PoolId.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/ResourceId-PoolId.json new file mode 100644 index 00000000000..7a90fb4e21e --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/ResourceDetails/ResourceId-PoolId.json @@ -0,0 +1,43 @@ +{ + "name": "PoolId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevOpsInfrastructure/pools/{poolName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDevOpsInfrastructure", + "type": "ResourceProvider", + "value": "Microsoft.DevOpsInfrastructure" + }, + { + "name": "staticPools", + "type": "Static", + "value": "pools" + }, + { + "name": "poolName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsReasonCode.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsReasonCode.json new file mode 100644 index 00000000000..2441a43b903 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsReasonCode.json @@ -0,0 +1,14 @@ +{ + "name": "ResourceSkuRestrictionsReasonCode", + "type": "String", + "values": [ + { + "key": "NotAvailableForSubscription", + "value": "NotAvailableForSubscription" + }, + { + "key": "QuotaId", + "value": "QuotaId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsType.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsType.json new file mode 100644 index 00000000000..1d8c1029a95 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Constant-ResourceSkuRestrictionsType.json @@ -0,0 +1,14 @@ +{ + "name": "ResourceSkuRestrictionsType", + "type": "String", + "values": [ + { + "key": "Location", + "value": "Location" + }, + { + "key": "Zone", + "value": "Zone" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSku.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSku.json new file mode 100644 index 00000000000..2be3f459c7d --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSku.json @@ -0,0 +1,70 @@ +{ + "name": "ResourceSku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSkuProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuCapabilities.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuCapabilities.json new file mode 100644 index 00000000000..039e1457158 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuCapabilities.json @@ -0,0 +1,31 @@ +{ + "name": "ResourceSkuCapabilities", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuLocationInfo.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuLocationInfo.json new file mode 100644 index 00000000000..4a389d8cb07 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuLocationInfo.json @@ -0,0 +1,48 @@ +{ + "name": "ResourceSkuLocationInfo", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zoneDetails", + "name": "ZoneDetails", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceSkuZoneDetails" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuProperties.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuProperties.json new file mode 100644 index 00000000000..e2fb8da0d8a --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuProperties.json @@ -0,0 +1,125 @@ +{ + "name": "ResourceSkuProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capabilities", + "name": "Capabilities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceSkuCapabilities" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "family", + "name": "Family", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locationInfo", + "name": "LocationInfo", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceSkuLocationInfo" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locations", + "name": "Locations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restrictions", + "name": "Restrictions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceSkuRestrictions" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "size", + "name": "Size", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tier", + "name": "Tier", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictionInfo.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictionInfo.json new file mode 100644 index 00000000000..04be91e0925 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictionInfo.json @@ -0,0 +1,35 @@ +{ + "name": "ResourceSkuRestrictionInfo", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "locations", + "name": "Locations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictions.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictions.json new file mode 100644 index 00000000000..a61a9eacc7c --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuRestrictions.json @@ -0,0 +1,61 @@ +{ + "name": "ResourceSkuRestrictions", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reasonCode", + "name": "ReasonCode", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSkuRestrictionsReasonCode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "restrictionInfo", + "name": "RestrictionInfo", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSkuRestrictionInfo" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceSkuRestrictionsType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "values", + "name": "Values", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuZoneDetails.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuZoneDetails.json new file mode 100644 index 00000000000..c5968c19579 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Model-ResourceSkuZoneDetails.json @@ -0,0 +1,39 @@ +{ + "name": "ResourceSkuZoneDetails", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capabilities", + "name": "Capabilities", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceSkuCapabilities" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Operation-ListByLocation.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Operation-ListByLocation.json new file mode 100644 index 00000000000..7cc588c2e25 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/Operation-ListByLocation.json @@ -0,0 +1,16 @@ +{ + "name": "ListByLocation", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "LocationId", + "responseObject": { + "type": "Reference", + "referenceName": "ResourceSku" + }, + "uriSuffix": "/skus" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/ResourceId-LocationId.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/ResourceId-LocationId.json new file mode 100644 index 00000000000..3c24ff166cc --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/Sku/ResourceId-LocationId.json @@ -0,0 +1,34 @@ +{ + "name": "LocationId", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.DevOpsInfrastructure/locations/{locationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDevOpsInfrastructure", + "type": "ResourceProvider", + "value": "Microsoft.DevOpsInfrastructure" + }, + { + "name": "staticLocations", + "type": "Static", + "value": "locations" + }, + { + "name": "locationName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-Quota.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-Quota.json new file mode 100644 index 00000000000..23cb49ab8ac --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-Quota.json @@ -0,0 +1,70 @@ +{ + "name": "Quota", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "currentValue", + "name": "CurrentValue", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "limit", + "name": "Limit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "QuotaName" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-QuotaName.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-QuotaName.json new file mode 100644 index 00000000000..efd410022d7 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Model-QuotaName.json @@ -0,0 +1,31 @@ +{ + "name": "QuotaName", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "localizedValue", + "name": "LocalizedValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Operation-Usages.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Operation-Usages.json new file mode 100644 index 00000000000..9bfbc914858 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/Operation-Usages.json @@ -0,0 +1,16 @@ +{ + "name": "Usages", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "LocationId", + "responseObject": { + "type": "Reference", + "referenceName": "Quota" + }, + "uriSuffix": "/usages" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/ResourceId-LocationId.json b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/ResourceId-LocationId.json new file mode 100644 index 00000000000..3c24ff166cc --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/2024-04-04-preview/SubscriptionUsages/ResourceId-LocationId.json @@ -0,0 +1,34 @@ +{ + "name": "LocationId", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.DevOpsInfrastructure/locations/{locationName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftDevOpsInfrastructure", + "type": "ResourceProvider", + "value": "Microsoft.DevOpsInfrastructure" + }, + { + "name": "staticLocations", + "type": "Static", + "value": "locations" + }, + { + "name": "locationName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/DevOpsInfrastructure/ServiceDefinition.json b/api-definitions/resource-manager/DevOpsInfrastructure/ServiceDefinition.json new file mode 100644 index 00000000000..d61e1540985 --- /dev/null +++ b/api-definitions/resource-manager/DevOpsInfrastructure/ServiceDefinition.json @@ -0,0 +1,5 @@ +{ + "name": "DevOpsInfrastructure", + "resourceProvider": "Microsoft.DevOpsInfrastructure", + "generate": true +} \ No newline at end of file From 5af3b0e6e1a4c53e0113364df044604b92db17cb Mon Sep 17 00:00:00 2001 From: wuxu92 Date: Tue, 30 Jul 2024 17:25:42 +0800 Subject: [PATCH 117/134] add CDN --- config/resource-manager.hcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index d111f2c1194..cb6a9010ba8 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -86,6 +86,10 @@ service "botservice" { name = "BotService" available = ["2022-09-15"] } +service "cdn" { + name = "CDN" + available = ["2024-02-01"] +} service "chaos" { name = "ChaosStudio" available = ["2023-11-01", "2024-01-01"] From 391d070d14a33d3c49f54b7465c5930d74b0babb Mon Sep 17 00:00:00 2001 From: Xu Zhang Date: Wed, 11 Sep 2024 16:34:49 +0800 Subject: [PATCH 118/134] add support for redisenterprise v2024-06-01-preview --- config/resource-manager.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/resource-manager.hcl b/config/resource-manager.hcl index d111f2c1194..b26bd403c8b 100644 --- a/config/resource-manager.hcl +++ b/config/resource-manager.hcl @@ -497,7 +497,7 @@ service "redis" { } service "redisenterprise" { name = "RedisEnterprise" - available = ["2023-07-01", "2023-10-01-preview", "2023-11-01", "2024-02-01"] + available = ["2023-07-01", "2023-10-01-preview", "2023-11-01", "2024-02-01", "2024-06-01-preview"] } service "relay" { name = "Relay" From 60f4041431ceed36fb9f19aadf7786d1cf710160 Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Wed, 11 Sep 2024 16:02:54 +0000 Subject: [PATCH 119/134] data: regenerating based on the latest Swagger --- .../Constant-AfdCertificateType.json | 18 ++ .../Constant-AfdMinimumTlsVersion.json | 14 + .../Constant-AfdProvisioningState.json | 26 ++ .../Constant-DeploymentStatus.json | 22 ++ .../Constant-DomainValidationState.json | 42 +++ .../AFDCustomDomains/Model-AFDDomain.json | 70 +++++ .../Model-AFDDomainHTTPSParameters.json | 44 +++ .../Model-AFDDomainProperties.json | 139 +++++++++ .../Model-AFDDomainUpdateParameters.json | 18 ++ ...l-AFDDomainUpdatePropertiesParameters.json | 57 ++++ .../Model-DomainValidationProperties.json | 31 ++ .../Model-ResourceReference.json | 18 ++ .../AFDCustomDomains/Operation-Create.json | 20 ++ .../AFDCustomDomains/Operation-Delete.json | 12 + .../AFDCustomDomains/Operation-Get.json | 14 + .../Operation-ListByProfile.json | 16 + .../Operation-RefreshValidationToken.json | 12 + .../AFDCustomDomains/Operation-Update.json | 19 ++ .../ResourceId-CustomDomainId.json | 52 ++++ .../ResourceId-ProfileId.json | 43 +++ .../Constant-AfdProvisioningState.json | 26 ++ ...ant-AutoGeneratedDomainNameLabelScope.json | 22 ++ .../Constant-DeploymentStatus.json | 22 ++ .../AFDEndpoints/Constant-EnabledState.json | 14 + .../AFDEndpoints/Constant-UsageUnit.json | 10 + .../AFDEndpoints/Model-AFDEndpoint.json | 96 ++++++ .../Model-AFDEndpointProperties.json | 83 +++++ ...AFDEndpointPropertiesUpdateParameters.json | 31 ++ .../Model-AFDEndpointUpdateParameters.json | 31 ++ .../Model-AfdPurgeParameters.json | 39 +++ .../2024-02-01/AFDEndpoints/Model-Usage.json | 70 +++++ .../AFDEndpoints/Model-UsageName.json | 31 ++ .../Model-ValidateCustomDomainInput.json | 18 ++ .../Model-ValidateCustomDomainOutput.json | 44 +++ .../AFDEndpoints/Operation-Create.json | 20 ++ .../AFDEndpoints/Operation-Delete.json | 12 + .../AFDEndpoints/Operation-Get.json | 14 + .../AFDEndpoints/Operation-ListByProfile.json | 16 + .../Operation-ListResourceUsage.json | 16 + .../AFDEndpoints/Operation-PurgeContent.json | 16 + .../AFDEndpoints/Operation-Update.json | 19 ++ .../Operation-ValidateCustomDomain.json | 19 ++ .../ResourceId-AfdEndpointId.json | 52 ++++ .../AFDEndpoints/ResourceId-ProfileId.json | 43 +++ .../Constant-AfdProvisioningState.json | 26 ++ .../Constant-DeploymentStatus.json | 22 ++ .../Constant-EnabledState.json | 14 + .../Constant-HealthProbeRequestType.json | 18 ++ .../Constant-ProbeProtocol.json | 18 ++ .../AFDOriginGroups/Constant-UsageUnit.json | 10 + .../AFDOriginGroups/Model-AFDOriginGroup.json | 70 +++++ .../Model-AFDOriginGroupProperties.json | 96 ++++++ .../Model-AFDOriginGroupUpdateParameters.json | 18 ++ ...OriginGroupUpdatePropertiesParameters.json | 70 +++++ .../Model-HealthProbeParameters.json | 57 ++++ ...Model-LoadBalancingSettingsParameters.json | 44 +++ .../AFDOriginGroups/Model-Usage.json | 70 +++++ .../AFDOriginGroups/Model-UsageName.json | 31 ++ .../AFDOriginGroups/Operation-Create.json | 20 ++ .../AFDOriginGroups/Operation-Delete.json | 12 + .../AFDOriginGroups/Operation-Get.json | 14 + .../Operation-ListByProfile.json | 16 + .../Operation-ListResourceUsage.json | 16 + .../AFDOriginGroups/Operation-Update.json | 19 ++ .../ResourceId-OriginGroupId.json | 52 ++++ .../AFDOriginGroups/ResourceId-ProfileId.json | 43 +++ .../Constant-AfdProvisioningState.json | 26 ++ .../AFDOrigins/Constant-DeploymentStatus.json | 22 ++ .../AFDOrigins/Constant-EnabledState.json | 14 + ...stant-SharedPrivateLinkResourceStatus.json | 26 ++ .../AFDOrigins/Model-AFDOrigin.json | 70 +++++ .../AFDOrigins/Model-AFDOriginProperties.json | 174 +++++++++++ .../Model-AFDOriginUpdateParameters.json | 18 ++ ...l-AFDOriginUpdatePropertiesParameters.json | 148 +++++++++ .../AFDOrigins/Model-ResourceReference.json | 18 ++ ...l-SharedPrivateLinkResourceProperties.json | 70 +++++ .../AFDOrigins/Operation-Create.json | 20 ++ .../AFDOrigins/Operation-Delete.json | 12 + .../2024-02-01/AFDOrigins/Operation-Get.json | 14 + .../Operation-ListByOriginGroup.json | 16 + .../AFDOrigins/Operation-Update.json | 19 ++ .../AFDOrigins/ResourceId-OriginGroupId.json | 52 ++++ .../ResourceId-OriginGroupOriginId.json | 61 ++++ ...ant-AutoGeneratedDomainNameLabelScope.json | 22 ++ .../Constant-ProfileProvisioningState.json | 26 ++ .../Constant-ProfileResourceState.json | 42 +++ .../Constant-ProfileScrubbingState.json | 14 + .../AFDProfiles/Constant-ResourceType.json | 14 + ...stant-ScrubbingRuleEntryMatchOperator.json | 10 + ...stant-ScrubbingRuleEntryMatchVariable.json | 18 ++ .../Constant-ScrubbingRuleEntryState.json | 14 + .../AFDProfiles/Constant-SecretType.json | 22 ++ .../AFDProfiles/Constant-SkuName.json | 58 ++++ .../AFDProfiles/Constant-Status.json | 22 ++ .../AFDProfiles/Constant-UsageUnit.json | 10 + ...el-CheckEndpointNameAvailabilityInput.json | 44 +++ ...l-CheckEndpointNameAvailabilityOutput.json | 57 ++++ .../Model-CheckHostNameAvailabilityInput.json | 18 ++ .../Model-CheckNameAvailabilityOutput.json | 44 +++ .../2024-02-01/AFDProfiles/Model-Profile.json | 135 ++++++++ .../Model-ProfileChangeSkuWafMapping.json | 31 ++ .../Model-ProfileLogScrubbing.json | 35 +++ .../AFDProfiles/Model-ProfileProperties.json | 87 ++++++ .../Model-ProfileScrubbingRules.json | 57 ++++ .../Model-ProfileUpgradeParameters.json | 22 ++ .../AFDProfiles/Model-ResourceReference.json | 18 ++ .../CDN/2024-02-01/AFDProfiles/Model-Sku.json | 18 ++ .../2024-02-01/AFDProfiles/Model-Usage.json | 70 +++++ .../AFDProfiles/Model-UsageName.json | 31 ++ .../Model-ValidateSecretInput.json | 44 +++ .../Model-ValidateSecretOutput.json | 31 ++ ...eration-CheckEndpointNameAvailability.json | 19 ++ .../Operation-CheckHostNameAvailability.json | 19 ++ .../Operation-ListResourceUsage.json | 16 + .../AFDProfiles/Operation-Upgrade.json | 20 ++ .../AFDProfiles/Operation-ValidateSecret.json | 19 ++ .../AFDProfiles/ResourceId-ProfileId.json | 43 +++ .../CDN/2024-02-01/ApiVersionDefinition.json | 32 ++ ...ant-AutoGeneratedDomainNameLabelScope.json | 22 ++ .../Constant-ResourceType.json | 14 + ...el-CheckEndpointNameAvailabilityInput.json | 44 +++ ...l-CheckEndpointNameAvailabilityOutput.json | 57 ++++ ...eration-CheckEndpointNameAvailability.json | 19 ++ .../ResourceId-ResourceGroupId.json | 25 ++ .../Constant-ResourceType.json | 14 + .../Model-CheckNameAvailabilityInput.json | 31 ++ .../Model-CheckNameAvailabilityOutput.json | 44 +++ .../Operation-CheckNameAvailability.json | 18 ++ .../Constant-ResourceType.json | 14 + .../Model-CheckNameAvailabilityInput.json | 31 ++ .../Model-CheckNameAvailabilityOutput.json | 44 +++ ...CheckNameAvailabilityWithSubscription.json | 19 ++ .../ResourceId-SubscriptionId.json | 16 + .../Constant-CertificateSource.json | 14 + ...stant-CertificateSourceParametersType.json | 14 + .../Constant-CertificateType.json | 14 + .../Constant-CustomDomainResourceState.json | 18 ++ ...Constant-CustomHTTPSProvisioningState.json | 26 ++ ...stant-CustomHTTPSProvisioningSubstate.json | 46 +++ .../CustomDomains/Constant-DeleteRule.json | 10 + .../Constant-MinimumTlsVersion.json | 18 ++ .../CustomDomains/Constant-ProtocolType.json | 14 + .../CustomDomains/Constant-UpdateRule.json | 10 + .../Model-CdnCertificateSourceParameters.json | 21 ++ .../Model-CdnManagedHTTPSParameters.json | 21 ++ .../Model-CertificateSourceParameters.json | 19 ++ .../CustomDomains/Model-CustomDomain.json | 70 +++++ .../Model-CustomDomainHTTPSParameters.json | 45 +++ .../Model-CustomDomainParameters.json | 18 ++ .../Model-CustomDomainProperties.json | 96 ++++++ ...odel-CustomDomainPropertiesParameters.json | 18 ++ ...l-KeyVaultCertificateSourceParameters.json | 99 ++++++ .../Model-UserManagedHTTPSParameters.json | 21 ++ .../CustomDomains/Operation-Create.json | 20 ++ .../CustomDomains/Operation-Delete.json | 16 + .../Operation-DisableCustomHTTPS.json | 16 + .../Operation-EnableCustomHTTPS.json | 20 ++ .../CustomDomains/Operation-Get.json | 14 + .../Operation-ListByEndpoint.json | 16 + .../ResourceId-EndpointCustomDomainId.json | 61 ++++ .../CustomDomains/ResourceId-EndpointId.json | 52 ++++ .../Edgenodes/Model-CidrIPAddress.json | 31 ++ .../2024-02-01/Edgenodes/Model-EdgeNode.json | 70 +++++ .../Edgenodes/Model-EdgeNodeProperties.json | 22 ++ .../Edgenodes/Model-IPAddressGroup.json | 52 ++++ .../2024-02-01/Edgenodes/Operation-List.json | 15 + .../Endpoints/Constant-Algorithm.json | 10 + .../Endpoints/Constant-CacheBehavior.json | 18 ++ .../Endpoints/Constant-CacheType.json | 10 + .../Constant-ClientPortOperator.json | 46 +++ .../Endpoints/Constant-CookiesOperator.json | 46 +++ .../Constant-DeliveryRuleActionName.json | 42 +++ ...tant-DeliveryRuleActionParametersType.json | 38 +++ ...t-DeliveryRuleConditionParametersType.json | 82 +++++ .../Constant-DestinationProtocol.json | 18 ++ .../Constant-EndpointProvisioningState.json | 26 ++ .../Constant-EndpointResourceState.json | 30 ++ .../Constant-ForwardingProtocol.json | 18 ++ .../Endpoints/Constant-GeoFilterActions.json | 14 + .../Constant-HTTPVersionOperator.json | 10 + .../Endpoints/Constant-HeaderAction.json | 18 ++ .../Constant-HealthProbeRequestType.json | 18 ++ .../Endpoints/Constant-HostNameOperator.json | 46 +++ .../Constant-IsDeviceMatchValue.json | 14 + .../Endpoints/Constant-IsDeviceOperator.json | 10 + ...tant-KeyVaultSigningKeyParametersType.json | 10 + .../Endpoints/Constant-MatchVariable.json | 82 +++++ .../Endpoints/Constant-Operator.json | 10 + .../Endpoints/Constant-OptimizationType.json | 26 ++ .../Endpoints/Constant-ParamIndicator.json | 18 ++ .../Endpoints/Constant-PostArgsOperator.json | 46 +++ .../Constant-PrivateEndpointStatus.json | 26 ++ .../Endpoints/Constant-ProbeProtocol.json | 18 ++ .../Constant-QueryStringBehavior.json | 22 ++ .../Constant-QueryStringCachingBehavior.json | 22 ++ .../Constant-QueryStringOperator.json | 46 +++ .../Endpoints/Constant-RedirectType.json | 22 ++ .../Constant-RemoteAddressOperator.json | 18 ++ .../Constant-RequestBodyOperator.json | 46 +++ .../Constant-RequestHeaderOperator.json | 46 +++ .../Constant-RequestMethodMatchValue.json | 34 +++ .../Constant-RequestMethodOperator.json | 10 + .../Constant-RequestSchemeMatchValue.json | 14 + .../Constant-RequestUriOperator.json | 46 +++ .../Endpoints/Constant-ResourceUsageUnit.json | 10 + ...stant-ResponseBasedDetectedErrorTypes.json | 18 ++ .../Endpoints/Constant-RuleCacheBehavior.json | 18 ++ .../Constant-RuleIsCompressionEnabled.json | 14 + ...nstant-RuleQueryStringCachingBehavior.json | 22 ++ .../Constant-ServerPortOperator.json | 46 +++ .../Constant-SocketAddrOperator.json | 14 + .../Endpoints/Constant-SslProtocol.json | 18 ++ .../Constant-SslProtocolOperator.json | 10 + .../Endpoints/Constant-Transform.json | 30 ++ .../Constant-UrlFileExtensionOperator.json | 46 +++ .../Constant-UrlFileNameOperator.json | 46 +++ .../Endpoints/Constant-UrlPathOperator.json | 50 +++ .../Endpoints/Model-CacheConfiguration.json | 70 +++++ ...Model-CacheExpirationActionParameters.json | 47 +++ ...l-CacheKeyQueryStringActionParameters.json | 34 +++ ...el-ClientPortMatchConditionParameters.json | 68 +++++ ...Model-CookiesMatchConditionParameters.json | 81 +++++ .../Model-DeepCreatedCustomDomain.json | 31 ++ ...del-DeepCreatedCustomDomainProperties.json | 31 ++ .../Endpoints/Model-DeepCreatedOrigin.json | 31 ++ .../Model-DeepCreatedOriginGroup.json | 31 ++ ...odel-DeepCreatedOriginGroupProperties.json | 61 ++++ .../Model-DeepCreatedOriginProperties.json | 161 ++++++++++ .../Endpoints/Model-DeliveryRule.json | 65 ++++ .../Endpoints/Model-DeliveryRuleAction.json | 19 ++ .../Model-DeliveryRuleActionParameters.json | 19 ++ ...del-DeliveryRuleCacheExpirationAction.json | 21 ++ ...DeliveryRuleCacheKeyQueryStringAction.json | 21 ++ ...Model-DeliveryRuleClientPortCondition.json | 21 ++ .../Model-DeliveryRuleCondition.json | 19 ++ ...Model-DeliveryRuleConditionParameters.json | 19 ++ .../Model-DeliveryRuleCookiesCondition.json | 21 ++ ...odel-DeliveryRuleHTTPVersionCondition.json | 21 ++ .../Model-DeliveryRuleHostNameCondition.json | 21 ++ .../Model-DeliveryRuleIsDeviceCondition.json | 21 ++ .../Model-DeliveryRulePostArgsCondition.json | 21 ++ ...odel-DeliveryRuleQueryStringCondition.json | 21 ++ ...el-DeliveryRuleRemoteAddressCondition.json | 21 ++ ...odel-DeliveryRuleRequestBodyCondition.json | 21 ++ ...Model-DeliveryRuleRequestHeaderAction.json | 21 ++ ...el-DeliveryRuleRequestHeaderCondition.json | 21 ++ ...el-DeliveryRuleRequestMethodCondition.json | 21 ++ ...el-DeliveryRuleRequestSchemeCondition.json | 21 ++ ...Model-DeliveryRuleRequestUriCondition.json | 21 ++ ...odel-DeliveryRuleResponseHeaderAction.json | 21 ++ ...yRuleRouteConfigurationOverrideAction.json | 21 ++ ...Model-DeliveryRuleServerPortCondition.json | 21 ++ ...Model-DeliveryRuleSocketAddrCondition.json | 21 ++ ...odel-DeliveryRuleSslProtocolCondition.json | 21 ++ ...DeliveryRuleUrlFileExtensionCondition.json | 21 ++ ...odel-DeliveryRuleUrlFileNameCondition.json | 21 ++ .../Model-DeliveryRuleUrlPathCondition.json | 21 ++ .../2024-02-01/Endpoints/Model-Endpoint.json | 96 ++++++ .../Endpoints/Model-EndpointProperties.json | 289 ++++++++++++++++++ ...el-EndpointPropertiesUpdateParameters.json | 199 ++++++++++++ ...pertiesUpdateParametersDeliveryPolicy.json | 35 +++ ...etersWebApplicationFirewallPolicyLink.json | 18 ++ .../Model-EndpointUpdateParameters.json | 31 ++ .../2024-02-01/Endpoints/Model-GeoFilter.json | 48 +++ .../Model-HTTPErrorRangeParameters.json | 31 ++ ...l-HTTPVersionMatchConditionParameters.json | 68 +++++ .../Model-HeaderActionParameters.json | 47 +++ .../Model-HealthProbeParameters.json | 57 ++++ ...odel-HostNameMatchConditionParameters.json | 68 +++++ ...odel-IsDeviceMatchConditionParameters.json | 68 +++++ .../Model-KeyVaultSigningKeyParameters.json | 83 +++++ .../Endpoints/Model-LoadParameters.json | 22 ++ .../Endpoints/Model-OriginGroupOverride.json | 31 ++ .../Model-OriginGroupOverrideAction.json | 21 ++ ...l-OriginGroupOverrideActionParameters.json | 21 ++ ...odel-PostArgsMatchConditionParameters.json | 81 +++++ .../Endpoints/Model-PurgeParameters.json | 22 ++ ...l-QueryStringMatchConditionParameters.json | 68 +++++ ...RemoteAddressMatchConditionParameters.json | 68 +++++ ...l-RequestBodyMatchConditionParameters.json | 68 +++++ ...RequestHeaderMatchConditionParameters.json | 81 +++++ ...RequestMethodMatchConditionParameters.json | 68 +++++ ...RequestSchemeMatchConditionParameters.json | 68 +++++ ...el-RequestUriMatchConditionParameters.json | 68 +++++ .../Endpoints/Model-ResourceReference.json | 18 ++ .../Endpoints/Model-ResourceUsage.json | 57 ++++ ...seBasedOriginErrorDetectionParameters.json | 48 +++ ...ConfigurationOverrideActionParameters.json | 34 +++ ...el-ServerPortMatchConditionParameters.json | 68 +++++ ...el-SocketAddrMatchConditionParameters.json | 68 +++++ ...l-SslProtocolMatchConditionParameters.json | 68 +++++ ...FileExtensionMatchConditionParameters.json | 68 +++++ ...l-UrlFileNameMatchConditionParameters.json | 68 +++++ ...Model-UrlPathMatchConditionParameters.json | 68 +++++ .../Endpoints/Model-UrlRedirectAction.json | 21 ++ .../Model-UrlRedirectActionParameters.json | 86 ++++++ .../Endpoints/Model-UrlRewriteAction.json | 21 ++ .../Model-UrlRewriteActionParameters.json | 47 +++ .../Endpoints/Model-UrlSigningAction.json | 21 ++ .../Model-UrlSigningActionParameters.json | 38 +++ .../Endpoints/Model-UrlSigningKey.json | 31 ++ .../Model-UrlSigningParamIdentifier.json | 31 ++ .../Model-ValidateCustomDomainInput.json | 18 ++ .../Model-ValidateCustomDomainOutput.json | 44 +++ .../Endpoints/Operation-Create.json | 20 ++ .../Endpoints/Operation-Delete.json | 12 + .../2024-02-01/Endpoints/Operation-Get.json | 14 + .../Endpoints/Operation-ListByProfile.json | 16 + .../Operation-ListResourceUsage.json | 16 + .../Endpoints/Operation-LoadContent.json | 16 + .../Endpoints/Operation-PurgeContent.json | 16 + .../2024-02-01/Endpoints/Operation-Start.json | 16 + .../2024-02-01/Endpoints/Operation-Stop.json | 16 + .../Endpoints/Operation-Update.json | 19 ++ .../Operation-ValidateCustomDomain.json | 19 ++ .../Endpoints/ResourceId-EndpointId.json | 52 ++++ .../Endpoints/ResourceId-ProfileId.json | 43 +++ .../Constant-LogMetricsGranularity.json | 18 ++ .../Constant-MetricsGranularity.json | 18 ++ .../Constant-MetricsSeriesUnit.json | 22 ++ .../Model-ContinentsResponse.json | 39 +++ ...l-ContinentsResponseContinentsInlined.json | 18 ++ ...inentsResponseCountryOrRegionsInlined.json | 31 ++ .../LogAnalytics/Model-MetricsResponse.json | 63 ++++ .../Model-MetricsResponseSeriesInlined.json | 65 ++++ ...tricsResponseSeriesInlinedDataInlined.json | 32 ++ ...icsResponseSeriesInlinedGroupsInlined.json | 31 ++ .../LogAnalytics/Model-RankingsResponse.json | 50 +++ .../Model-RankingsResponseTablesInlined.json | 35 +++ ...kingsResponseTablesInlinedDataInlined.json | 35 +++ ...ablesInlinedDataInlinedMetricsInlined.json | 44 +++ .../LogAnalytics/Model-ResourcesResponse.json | 39 +++ ...ResourcesResponseCustomDomainsInlined.json | 57 ++++ ...del-ResourcesResponseEndpointsInlined.json | 61 ++++ ...eEndpointsInlinedCustomDomainsInlined.json | 57 ++++ .../Operation-GetLogAnalyticsLocations.json | 15 + .../Operation-GetLogAnalyticsMetrics.json | 131 ++++++++ .../Operation-GetLogAnalyticsRankings.json | 89 ++++++ .../Operation-GetLogAnalyticsResources.json | 15 + .../LogAnalytics/ResourceId-ProfileId.json | 43 +++ .../Constant-HealthProbeRequestType.json | 18 ++ ...Constant-OriginGroupProvisioningState.json | 26 ++ .../Constant-OriginGroupResourceState.json | 18 ++ .../OriginGroups/Constant-ProbeProtocol.json | 18 ++ ...stant-ResponseBasedDetectedErrorTypes.json | 18 ++ .../Model-HTTPErrorRangeParameters.json | 31 ++ .../Model-HealthProbeParameters.json | 57 ++++ .../OriginGroups/Model-OriginGroup.json | 70 +++++ .../Model-OriginGroupProperties.json | 87 ++++++ .../Model-OriginGroupUpdateParameters.json | 18 ++ ...OriginGroupUpdatePropertiesParameters.json | 61 ++++ .../OriginGroups/Model-ResourceReference.json | 18 ++ ...seBasedOriginErrorDetectionParameters.json | 48 +++ .../OriginGroups/Operation-Create.json | 20 ++ .../OriginGroups/Operation-Delete.json | 12 + .../OriginGroups/Operation-Get.json | 14 + .../Operation-ListByEndpoint.json | 16 + .../OriginGroups/Operation-Update.json | 19 ++ .../OriginGroups/ResourceId-EndpointId.json | 52 ++++ .../ResourceId-EndpointOriginGroupId.json | 61 ++++ .../Constant-OriginProvisioningState.json | 26 ++ .../Origins/Constant-OriginResourceState.json | 18 ++ .../Constant-PrivateEndpointStatus.json | 26 ++ .../CDN/2024-02-01/Origins/Model-Origin.json | 70 +++++ .../Origins/Model-OriginProperties.json | 187 ++++++++++++ .../Origins/Model-OriginUpdateParameters.json | 18 ++ ...odel-OriginUpdatePropertiesParameters.json | 148 +++++++++ .../2024-02-01/Origins/Operation-Create.json | 20 ++ .../2024-02-01/Origins/Operation-Delete.json | 12 + .../CDN/2024-02-01/Origins/Operation-Get.json | 14 + .../Origins/Operation-ListByEndpoint.json | 16 + .../2024-02-01/Origins/Operation-Update.json | 19 ++ .../Origins/ResourceId-EndpointId.json | 52 ++++ .../Origins/ResourceId-OriginId.json | 61 ++++ .../Constant-CanMigrateDefaultSku.json | 14 + .../Profiles/Constant-OptimizationType.json | 26 ++ .../Constant-ProfileProvisioningState.json | 26 ++ .../Constant-ProfileResourceState.json | 42 +++ .../Constant-ProfileScrubbingState.json | 14 + .../Profiles/Constant-ResourceUsageUnit.json | 10 + ...stant-ScrubbingRuleEntryMatchOperator.json | 10 + ...stant-ScrubbingRuleEntryMatchVariable.json | 18 ++ .../Constant-ScrubbingRuleEntryState.json | 14 + .../2024-02-01/Profiles/Constant-SkuName.json | 58 ++++ .../Profiles/Model-CanMigrateParameters.json | 18 ++ .../Profiles/Model-CanMigrateProperties.json | 48 +++ .../Profiles/Model-CanMigrateResult.json | 44 +++ .../Profiles/Model-MigrateResult.json | 44 +++ .../Model-MigrateResultProperties.json | 18 ++ .../Profiles/Model-MigrationErrorType.json | 57 ++++ .../Profiles/Model-MigrationParameters.json | 61 ++++ ...igrationWebApplicationFirewallMapping.json | 31 ++ .../2024-02-01/Profiles/Model-Profile.json | 135 ++++++++ .../Profiles/Model-ProfileLogScrubbing.json | 35 +++ .../Profiles/Model-ProfileProperties.json | 87 ++++++ ...del-ProfilePropertiesUpdateParameters.json | 31 ++ .../Profiles/Model-ProfileScrubbingRules.json | 57 ++++ .../Model-ProfileUpdateParameters.json | 44 +++ .../Profiles/Model-ResourceReference.json | 18 ++ .../Profiles/Model-ResourceUsage.json | 57 ++++ .../CDN/2024-02-01/Profiles/Model-Sku.json | 18 ++ .../CDN/2024-02-01/Profiles/Model-SsoUri.json | 18 ++ ...-SupportedOptimizationTypesListResult.json | 22 ++ .../Profiles/Operation-CanMigrate.json | 20 ++ .../2024-02-01/Profiles/Operation-Create.json | 20 ++ .../2024-02-01/Profiles/Operation-Delete.json | 12 + .../Profiles/Operation-GenerateSsoUri.json | 15 + .../2024-02-01/Profiles/Operation-Get.json | 14 + .../2024-02-01/Profiles/Operation-List.json | 16 + .../Operation-ListByResourceGroup.json | 16 + .../Profiles/Operation-ListResourceUsage.json | 16 + ...ration-ListSupportedOptimizationTypes.json | 15 + .../Profiles/Operation-Migrate.json | 20 ++ .../Profiles/Operation-MigrationCommit.json | 12 + .../2024-02-01/Profiles/Operation-Update.json | 19 ++ .../Profiles/ResourceId-ProfileId.json | 43 +++ .../Profiles/ResourceId-ResourceGroupId.json | 25 ++ .../Profiles/ResourceId-SubscriptionId.json | 16 + .../Routes/Constant-AFDEndpointProtocols.json | 14 + .../Routes/Constant-AfdProvisioningState.json | 26 ++ ...onstant-AfdQueryStringCachingBehavior.json | 22 ++ .../Routes/Constant-DeploymentStatus.json | 22 ++ .../Routes/Constant-EnabledState.json | 14 + .../Routes/Constant-ForwardingProtocol.json | 18 ++ .../Routes/Constant-HTTPSRedirect.json | 14 + .../Routes/Constant-LinkToDefaultDomain.json | 14 + .../Model-ActivatedResourceReference.json | 31 ++ .../Model-AfdRouteCacheConfiguration.json | 44 +++ .../Routes/Model-CompressionSettings.json | 35 +++ .../Routes/Model-ResourceReference.json | 18 ++ .../CDN/2024-02-01/Routes/Model-Route.json | 70 +++++ .../Routes/Model-RouteProperties.json | 203 ++++++++++++ .../Routes/Model-RouteUpdateParameters.json | 18 ++ ...Model-RouteUpdatePropertiesParameters.json | 177 +++++++++++ .../2024-02-01/Routes/Operation-Create.json | 20 ++ .../2024-02-01/Routes/Operation-Delete.json | 12 + .../CDN/2024-02-01/Routes/Operation-Get.json | 14 + .../Routes/Operation-ListByEndpoint.json | 16 + .../2024-02-01/Routes/Operation-Update.json | 19 ++ .../Routes/ResourceId-AfdEndpointId.json | 52 ++++ .../2024-02-01/Routes/ResourceId-RouteId.json | 61 ++++ .../Constant-AfdProvisioningState.json | 26 ++ .../RuleSets/Constant-DeploymentStatus.json | 22 ++ .../RuleSets/Constant-UsageUnit.json | 10 + .../2024-02-01/RuleSets/Model-RuleSet.json | 70 +++++ .../RuleSets/Model-RuleSetProperties.json | 44 +++ .../CDN/2024-02-01/RuleSets/Model-Usage.json | 70 +++++ .../2024-02-01/RuleSets/Model-UsageName.json | 31 ++ .../2024-02-01/RuleSets/Operation-Create.json | 15 + .../2024-02-01/RuleSets/Operation-Delete.json | 12 + .../2024-02-01/RuleSets/Operation-Get.json | 14 + .../RuleSets/Operation-ListByProfile.json | 16 + .../RuleSets/Operation-ListResourceUsage.json | 16 + .../RuleSets/ResourceId-ProfileId.json | 43 +++ .../RuleSets/ResourceId-RuleSetId.json | 52 ++++ .../Rules/Constant-AfdProvisioningState.json | 26 ++ .../2024-02-01/Rules/Constant-Algorithm.json | 10 + .../Rules/Constant-CacheBehavior.json | 18 ++ .../2024-02-01/Rules/Constant-CacheType.json | 10 + .../Rules/Constant-ClientPortOperator.json | 46 +++ .../Rules/Constant-CookiesOperator.json | 46 +++ .../Constant-DeliveryRuleActionName.json | 42 +++ ...tant-DeliveryRuleActionParametersType.json | 38 +++ ...t-DeliveryRuleConditionParametersType.json | 82 +++++ .../Rules/Constant-DeploymentStatus.json | 22 ++ .../Rules/Constant-DestinationProtocol.json | 18 ++ .../Rules/Constant-ForwardingProtocol.json | 18 ++ .../Rules/Constant-HTTPVersionOperator.json | 10 + .../Rules/Constant-HeaderAction.json | 18 ++ .../Rules/Constant-HostNameOperator.json | 46 +++ .../Rules/Constant-IsDeviceMatchValue.json | 14 + .../Rules/Constant-IsDeviceOperator.json | 10 + .../Constant-MatchProcessingBehavior.json | 14 + .../Rules/Constant-MatchVariable.json | 82 +++++ .../2024-02-01/Rules/Constant-Operator.json | 10 + .../Rules/Constant-ParamIndicator.json | 18 ++ .../Rules/Constant-PostArgsOperator.json | 46 +++ .../Rules/Constant-QueryStringBehavior.json | 22 ++ .../Rules/Constant-QueryStringOperator.json | 46 +++ .../Rules/Constant-RedirectType.json | 22 ++ .../Rules/Constant-RemoteAddressOperator.json | 18 ++ .../Rules/Constant-RequestBodyOperator.json | 46 +++ .../Rules/Constant-RequestHeaderOperator.json | 46 +++ .../Constant-RequestMethodMatchValue.json | 34 +++ .../Rules/Constant-RequestMethodOperator.json | 10 + .../Constant-RequestSchemeMatchValue.json | 14 + .../Rules/Constant-RequestUriOperator.json | 46 +++ .../Rules/Constant-RuleCacheBehavior.json | 18 ++ .../Constant-RuleIsCompressionEnabled.json | 14 + ...nstant-RuleQueryStringCachingBehavior.json | 22 ++ .../Rules/Constant-ServerPortOperator.json | 46 +++ .../Rules/Constant-SocketAddrOperator.json | 14 + .../Rules/Constant-SslProtocol.json | 18 ++ .../Rules/Constant-SslProtocolOperator.json | 10 + .../2024-02-01/Rules/Constant-Transform.json | 30 ++ .../Constant-UrlFileExtensionOperator.json | 46 +++ .../Rules/Constant-UrlFileNameOperator.json | 46 +++ .../Rules/Constant-UrlPathOperator.json | 50 +++ .../Rules/Model-CacheConfiguration.json | 70 +++++ ...Model-CacheExpirationActionParameters.json | 47 +++ ...l-CacheKeyQueryStringActionParameters.json | 34 +++ ...el-ClientPortMatchConditionParameters.json | 68 +++++ ...Model-CookiesMatchConditionParameters.json | 81 +++++ .../Rules/Model-DeliveryRuleAction.json | 19 ++ .../Model-DeliveryRuleActionParameters.json | 19 ++ ...del-DeliveryRuleCacheExpirationAction.json | 21 ++ ...DeliveryRuleCacheKeyQueryStringAction.json | 21 ++ ...Model-DeliveryRuleClientPortCondition.json | 21 ++ .../Rules/Model-DeliveryRuleCondition.json | 19 ++ ...Model-DeliveryRuleConditionParameters.json | 19 ++ .../Model-DeliveryRuleCookiesCondition.json | 21 ++ ...odel-DeliveryRuleHTTPVersionCondition.json | 21 ++ .../Model-DeliveryRuleHostNameCondition.json | 21 ++ .../Model-DeliveryRuleIsDeviceCondition.json | 21 ++ .../Model-DeliveryRulePostArgsCondition.json | 21 ++ ...odel-DeliveryRuleQueryStringCondition.json | 21 ++ ...el-DeliveryRuleRemoteAddressCondition.json | 21 ++ ...odel-DeliveryRuleRequestBodyCondition.json | 21 ++ ...Model-DeliveryRuleRequestHeaderAction.json | 21 ++ ...el-DeliveryRuleRequestHeaderCondition.json | 21 ++ ...el-DeliveryRuleRequestMethodCondition.json | 21 ++ ...el-DeliveryRuleRequestSchemeCondition.json | 21 ++ ...Model-DeliveryRuleRequestUriCondition.json | 21 ++ ...odel-DeliveryRuleResponseHeaderAction.json | 21 ++ ...yRuleRouteConfigurationOverrideAction.json | 21 ++ ...Model-DeliveryRuleServerPortCondition.json | 21 ++ ...Model-DeliveryRuleSocketAddrCondition.json | 21 ++ ...odel-DeliveryRuleSslProtocolCondition.json | 21 ++ ...DeliveryRuleUrlFileExtensionCondition.json | 21 ++ ...odel-DeliveryRuleUrlFileNameCondition.json | 21 ++ .../Model-DeliveryRuleUrlPathCondition.json | 21 ++ ...l-HTTPVersionMatchConditionParameters.json | 68 +++++ .../Rules/Model-HeaderActionParameters.json | 47 +++ ...odel-HostNameMatchConditionParameters.json | 68 +++++ ...odel-IsDeviceMatchConditionParameters.json | 68 +++++ .../Rules/Model-OriginGroupOverride.json | 31 ++ .../Model-OriginGroupOverrideAction.json | 21 ++ ...l-OriginGroupOverrideActionParameters.json | 21 ++ ...odel-PostArgsMatchConditionParameters.json | 81 +++++ ...l-QueryStringMatchConditionParameters.json | 68 +++++ ...RemoteAddressMatchConditionParameters.json | 68 +++++ ...l-RequestBodyMatchConditionParameters.json | 68 +++++ ...RequestHeaderMatchConditionParameters.json | 81 +++++ ...RequestMethodMatchConditionParameters.json | 68 +++++ ...RequestSchemeMatchConditionParameters.json | 68 +++++ ...el-RequestUriMatchConditionParameters.json | 68 +++++ .../Rules/Model-ResourceReference.json | 18 ++ ...ConfigurationOverrideActionParameters.json | 34 +++ .../CDN/2024-02-01/Rules/Model-Rule.json | 70 +++++ .../Rules/Model-RuleProperties.json | 104 +++++++ .../Rules/Model-RuleUpdateParameters.json | 18 ++ .../Model-RuleUpdatePropertiesParameters.json | 78 +++++ ...el-ServerPortMatchConditionParameters.json | 68 +++++ ...el-SocketAddrMatchConditionParameters.json | 68 +++++ ...l-SslProtocolMatchConditionParameters.json | 68 +++++ ...FileExtensionMatchConditionParameters.json | 68 +++++ ...l-UrlFileNameMatchConditionParameters.json | 68 +++++ ...Model-UrlPathMatchConditionParameters.json | 68 +++++ .../Rules/Model-UrlRedirectAction.json | 21 ++ .../Model-UrlRedirectActionParameters.json | 86 ++++++ .../Rules/Model-UrlRewriteAction.json | 21 ++ .../Model-UrlRewriteActionParameters.json | 47 +++ .../Rules/Model-UrlSigningAction.json | 21 ++ .../Model-UrlSigningActionParameters.json | 38 +++ .../Model-UrlSigningParamIdentifier.json | 31 ++ .../2024-02-01/Rules/Operation-Create.json | 20 ++ .../2024-02-01/Rules/Operation-Delete.json | 12 + .../CDN/2024-02-01/Rules/Operation-Get.json | 14 + .../Rules/Operation-ListByRuleSet.json | 16 + .../2024-02-01/Rules/Operation-Update.json | 19 ++ .../2024-02-01/Rules/ResourceId-RuleId.json | 61 ++++ .../Rules/ResourceId-RuleSetId.json | 52 ++++ .../Constant-AfdProvisioningState.json | 26 ++ .../Secrets/Constant-DeploymentStatus.json | 22 ++ .../Secrets/Constant-SecretType.json | 22 ++ ...irstPartyManagedCertificateParameters.json | 90 ++++++ .../Model-CustomerCertificateParameters.json | 116 +++++++ .../Model-ManagedCertificateParameters.json | 34 +++ .../Secrets/Model-ResourceReference.json | 18 ++ .../CDN/2024-02-01/Secrets/Model-Secret.json | 70 +++++ .../Secrets/Model-SecretParameters.json | 19 ++ .../Secrets/Model-SecretProperties.json | 57 ++++ .../Model-UrlSigningKeyParameters.json | 47 +++ .../2024-02-01/Secrets/Operation-Create.json | 20 ++ .../2024-02-01/Secrets/Operation-Delete.json | 12 + .../CDN/2024-02-01/Secrets/Operation-Get.json | 14 + .../Secrets/Operation-ListByProfile.json | 16 + .../Secrets/ResourceId-ProfileId.json | 43 +++ .../Secrets/ResourceId-SecretId.json | 52 ++++ .../Constant-AfdProvisioningState.json | 26 ++ .../Constant-DeploymentStatus.json | 22 ++ .../Constant-SecurityPolicyType.json | 10 + .../Model-ActivatedResourceReference.json | 31 ++ .../Model-ResourceReference.json | 18 ++ .../Model-SecurityPolicy.json | 70 +++++ .../Model-SecurityPolicyProperties.json | 57 ++++ ...el-SecurityPolicyPropertiesParameters.json | 19 ++ .../Model-SecurityPolicyUpdateParameters.json | 18 ++ .../Model-SecurityPolicyUpdateProperties.json | 18 ++ ...licyWebApplicationFirewallAssociation.json | 39 +++ ...olicyWebApplicationFirewallParameters.json | 38 +++ .../SecurityPolicies/Operation-Create.json | 20 ++ .../SecurityPolicies/Operation-Delete.json | 12 + .../SecurityPolicies/Operation-Get.json | 14 + .../Operation-ListByProfile.json | 16 + .../SecurityPolicies/Operation-Patch.json | 19 ++ .../ResourceId-ProfileId.json | 43 +++ .../ResourceId-SecurityPolicyId.json | 52 ++++ .../Model-ValidateProbeInput.json | 18 ++ .../Model-ValidateProbeOutput.json | 44 +++ .../Operation-ValidateProbe.json | 19 ++ .../ResourceId-SubscriptionId.json | 16 + .../Constant-WafGranularity.json | 18 ++ .../Constant-WafMetricsGranularity.json | 18 ++ .../Constant-WafMetricsSeriesUnit.json | 10 + .../Model-WafMetricsResponse.json | 63 ++++ ...Model-WafMetricsResponseSeriesInlined.json | 65 ++++ ...tricsResponseSeriesInlinedDataInlined.json | 32 ++ ...icsResponseSeriesInlinedGroupsInlined.json | 31 ++ .../Model-WafRankingsResponse.json | 67 ++++ .../Model-WafRankingsResponseDataInlined.json | 39 +++ ...ingsResponseDataInlinedMetricsInlined.json | 44 +++ ...LogAnalyticsGetWafLogAnalyticsMetrics.json | 103 +++++++ ...ogAnalyticsGetWafLogAnalyticsRankings.json | 103 +++++++ .../WafLogAnalytics/ResourceId-ProfileId.json | 43 +++ .../Constant-SkuName.json | 58 ++++ .../Model-ManagedRuleDefinition.json | 31 ++ .../Model-ManagedRuleGroupDefinition.json | 48 +++ .../Model-ManagedRuleSetDefinition.json | 83 +++++ ...el-ManagedRuleSetDefinitionProperties.json | 61 ++++ .../Model-Sku.json | 18 ++ .../Operation-ManagedRuleSetsList.json | 16 + .../ResourceId-SubscriptionId.json | 16 + .../Constant-ActionType.json | 22 ++ .../Constant-CustomRuleEnabledState.json | 14 + ...-DefaultCustomBlockResponseStatusCode.json | 26 ++ .../Constant-ManagedRuleEnabledState.json | 14 + .../Constant-Operator.json | 54 ++++ .../Constant-PolicyEnabledState.json | 14 + .../Constant-PolicyMode.json | 14 + .../Constant-PolicyResourceState.json | 30 ++ .../Constant-ProvisioningState.json | 18 ++ .../Constant-SkuName.json | 58 ++++ .../Constant-TransformType.json | 30 ++ .../Constant-WafMatchVariable.json | 42 +++ .../Model-CdnEndpoint.json | 18 ++ ...Model-CdnWebApplicationFirewallPolicy.json | 122 ++++++++ ...licationFirewallPolicyPatchParameters.json | 18 ++ ...ebApplicationFirewallPolicyProperties.json | 117 +++++++ .../Model-CustomRule.json | 74 +++++ .../Model-CustomRuleList.json | 22 ++ .../Model-ManagedRuleGroupOverride.json | 35 +++ .../Model-ManagedRuleOverride.json | 44 +++ .../Model-ManagedRuleSet.json | 61 ++++ .../Model-ManagedRuleSetList.json | 22 ++ .../Model-MatchCondition.json | 91 ++++++ .../Model-PolicySettings.json | 70 +++++ .../Model-RateLimitRule.json | 100 ++++++ .../Model-RateLimitRuleList.json | 22 ++ .../Model-Sku.json | 18 ++ .../Operation-PoliciesCreateOrUpdate.json | 20 ++ .../Operation-PoliciesDelete.json | 11 + .../Operation-PoliciesGet.json | 14 + .../Operation-PoliciesList.json | 16 + .../Operation-PoliciesUpdate.json | 19 ++ ...eId-CdnWebApplicationFirewallPolicyId.json | 43 +++ .../ResourceId-ResourceGroupId.json | 25 ++ .../CDN/ServiceDefinition.json | 5 + 668 files changed, 24268 insertions(+) create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdCertificateType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdMinimumTlsVersion.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DomainValidationState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomain.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainHTTPSParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdatePropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-DomainValidationProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-ListByProfile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-RefreshValidationToken.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-CustomDomainId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AutoGeneratedDomainNameLabelScope.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-EnabledState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-UsageUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpoint.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointPropertiesUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AfdPurgeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-Usage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-UsageName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListByProfile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-PurgeContent.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ValidateCustomDomain.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-AfdEndpointId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-EnabledState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-HealthProbeRequestType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-ProbeProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-UsageUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroup.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdatePropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-HealthProbeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-LoadBalancingSettingsParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-Usage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-UsageName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListByProfile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-OriginGroupId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-EnabledState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-SharedPrivateLinkResourceStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOrigin.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdatePropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-SharedPrivateLinkResourceProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-ListByOriginGroup.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupOriginId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-AutoGeneratedDomainNameLabelScope.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileResourceState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileScrubbingState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ResourceType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchVariable.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SecretType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SkuName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-Status.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-UsageUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckHostNameAvailabilityInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckNameAvailabilityOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Profile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileChangeSkuWafMapping.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileLogScrubbing.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileScrubbingRules.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileUpgradeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Sku.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Usage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-UsageName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckEndpointNameAvailability.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckHostNameAvailability.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ListResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-Upgrade.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ValidateSecret.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/ApiVersionDefinition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-AutoGeneratedDomainNameLabelScope.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-ResourceType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Operation-CheckEndpointNameAvailability.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Constant-ResourceType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Operation-CheckNameAvailability.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Constant-ResourceType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Operation-CheckNameAvailabilityWithSubscription.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSource.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSourceParametersType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomDomainResourceState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningSubstate.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-DeleteRule.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-MinimumTlsVersion.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-ProtocolType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-UpdateRule.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnCertificateSourceParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnManagedHTTPSParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CertificateSourceParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomain.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainHTTPSParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainPropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-KeyVaultCertificateSourceParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-UserManagedHTTPSParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-DisableCustomHTTPS.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-EnableCustomHTTPS.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-ListByEndpoint.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointCustomDomainId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-CidrIPAddress.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNode.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNodeProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-IPAddressGroup.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Operation-List.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Algorithm.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ClientPortOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CookiesOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionParametersType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleConditionParametersType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DestinationProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointResourceState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ForwardingProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-GeoFilterActions.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HTTPVersionOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HeaderAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HealthProbeRequestType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HostNameOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceMatchValue.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-KeyVaultSigningKeyParametersType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-MatchVariable.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Operator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-OptimizationType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ParamIndicator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PostArgsOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PrivateEndpointStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ProbeProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringCachingBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RedirectType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RemoteAddressOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestBodyOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestHeaderOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodMatchValue.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestSchemeMatchValue.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestUriOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResourceUsageUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResponseBasedDetectedErrorTypes.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleCacheBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleIsCompressionEnabled.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleQueryStringCachingBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ServerPortOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SocketAddrOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocolOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Transform.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileExtensionOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileNameOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlPathOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheConfiguration.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheExpirationActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheKeyQueryStringActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ClientPortMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CookiesMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomain.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomainProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOrigin.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroup.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroupProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRule.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheExpirationAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheKeyQueryStringAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleClientPortCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCookiesCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHTTPVersionCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHostNameCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleIsDeviceCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRulePostArgsCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleQueryStringCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRemoteAddressCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestBodyCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestMethodCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestSchemeCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestUriCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleResponseHeaderAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRouteConfigurationOverrideAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleServerPortCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSocketAddrCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSslProtocolCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileExtensionCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileNameCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlPathCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-Endpoint.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersDeliveryPolicy.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-GeoFilter.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPErrorRangeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPVersionMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HeaderActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HealthProbeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HostNameMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-IsDeviceMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-KeyVaultSigningKeyParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-LoadParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverride.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PostArgsMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PurgeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-QueryStringMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RemoteAddressMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestBodyMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestHeaderMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestMethodMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestSchemeMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestUriMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResponseBasedOriginErrorDetectionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RouteConfigurationOverrideActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ServerPortMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SocketAddrMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SslProtocolMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileExtensionMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileNameMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlPathMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningKey.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningParamIdentifier.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListByProfile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-LoadContent.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-PurgeContent.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Start.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Stop.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ValidateCustomDomain.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-EndpointId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-LogMetricsGranularity.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsGranularity.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsSeriesUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponse.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseContinentsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseCountryOrRegionsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponse.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedDataInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedGroupsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponse.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlinedMetricsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponse.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseCustomDomainsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlinedCustomDomainsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsLocations.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsMetrics.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsRankings.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsResources.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-HealthProbeRequestType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupResourceState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ProbeProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ResponseBasedDetectedErrorTypes.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HTTPErrorRangeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HealthProbeParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroup.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdatePropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResponseBasedOriginErrorDetectionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-ListByEndpoint.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointOriginGroupId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginResourceState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-PrivateEndpointStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-Origin.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdatePropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-ListByEndpoint.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-EndpointId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-OriginId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-CanMigrateDefaultSku.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-OptimizationType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileResourceState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileScrubbingState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ResourceUsageUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchVariable.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-SkuName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateResult.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResult.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResultProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationErrorType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationWebApplicationFirewallMapping.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Profile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileLogScrubbing.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfilePropertiesUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileScrubbingRules.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Sku.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SsoUri.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SupportedOptimizationTypesListResult.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-CanMigrate.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-GenerateSsoUri.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-List.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListByResourceGroup.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListSupportedOptimizationTypes.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Migrate.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-MigrationCommit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AFDEndpointProtocols.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdQueryStringCachingBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-EnabledState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-ForwardingProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-HTTPSRedirect.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-LinkToDefaultDomain.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ActivatedResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-AfdRouteCacheConfiguration.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-CompressionSettings.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-Route.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdatePropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-ListByEndpoint.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-AfdEndpointId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-RouteId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-UsageUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSet.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSetProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-Usage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-UsageName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListByProfile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListResourceUsage.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-RuleSetId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Algorithm.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ClientPortOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CookiesOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionParametersType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleConditionParametersType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DestinationProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ForwardingProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HTTPVersionOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HeaderAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HostNameOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceMatchValue.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchProcessingBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchVariable.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Operator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ParamIndicator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-PostArgsOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RedirectType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RemoteAddressOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestBodyOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestHeaderOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodMatchValue.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestSchemeMatchValue.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestUriOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleCacheBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleIsCompressionEnabled.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleQueryStringCachingBehavior.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ServerPortOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SocketAddrOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocol.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocolOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Transform.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileExtensionOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileNameOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlPathOperator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheConfiguration.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheExpirationActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheKeyQueryStringActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ClientPortMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CookiesMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheExpirationAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheKeyQueryStringAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleClientPortCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCookiesCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHTTPVersionCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHostNameCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleIsDeviceCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRulePostArgsCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleQueryStringCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRemoteAddressCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestBodyCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestMethodCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestSchemeCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestUriCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleResponseHeaderAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRouteConfigurationOverrideAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleServerPortCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSocketAddrCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSslProtocolCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileExtensionCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileNameCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlPathCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HTTPVersionMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HeaderActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HostNameMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-IsDeviceMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverride.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-PostArgsMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-QueryStringMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RemoteAddressMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestBodyMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestHeaderMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestMethodMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestSchemeMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestUriMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RouteConfigurationOverrideActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-Rule.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdatePropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ServerPortMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SocketAddrMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SslProtocolMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileExtensionMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileNameMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlPathMatchConditionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningAction.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningActionParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningParamIdentifier.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-ListByRuleSet.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Update.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleSetId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-SecretType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-AzureFirstPartyManagedCertificateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-CustomerCertificateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ManagedCertificateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-Secret.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-UrlSigningKeyParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-ListByProfile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-SecretId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-AfdProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-DeploymentStatus.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-SecurityPolicyType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ActivatedResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ResourceReference.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicy.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyPropertiesParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallAssociation.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Create.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Delete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Get.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-ListByProfile.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Patch.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-SecurityPolicyId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeInput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeOutput.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Operation-ValidateProbe.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafGranularity.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsGranularity.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsSeriesUnit.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponse.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedDataInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedGroupsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponse.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlinedMetricsInlined.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsMetrics.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsRankings.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/ResourceId-ProfileId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Constant-SkuName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleDefinition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleGroupDefinition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinitionProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-Sku.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Operation-ManagedRuleSetsList.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/ResourceId-SubscriptionId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ActionType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-CustomRuleEnabledState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-DefaultCustomBlockResponseStatusCode.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ManagedRuleEnabledState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-Operator.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyEnabledState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyMode.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyResourceState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-SkuName.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-TransformType.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-WafMatchVariable.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnEndpoint.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicy.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyPatchParameters.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyProperties.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRule.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRuleList.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleGroupOverride.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleOverride.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSet.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSetList.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-MatchCondition.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-PolicySettings.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRule.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRuleList.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-Sku.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesCreateOrUpdate.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesDelete.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesGet.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesList.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesUpdate.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-CdnWebApplicationFirewallPolicyId.json create mode 100644 api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/CDN/ServiceDefinition.json diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdCertificateType.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdCertificateType.json new file mode 100644 index 00000000000..37bf5b4eb33 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdCertificateType.json @@ -0,0 +1,18 @@ +{ + "name": "AfdCertificateType", + "type": "String", + "values": [ + { + "key": "AzureFirstPartyManagedCertificate", + "value": "AzureFirstPartyManagedCertificate" + }, + { + "key": "CustomerCertificate", + "value": "CustomerCertificate" + }, + { + "key": "ManagedCertificate", + "value": "ManagedCertificate" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdMinimumTlsVersion.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdMinimumTlsVersion.json new file mode 100644 index 00000000000..7f51c670eda --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdMinimumTlsVersion.json @@ -0,0 +1,14 @@ +{ + "name": "AfdMinimumTlsVersion", + "type": "String", + "values": [ + { + "key": "TLSOneTwo", + "value": "TLS12" + }, + { + "key": "TLSOneZero", + "value": "TLS10" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DomainValidationState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DomainValidationState.json new file mode 100644 index 00000000000..4eb8f861ec0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Constant-DomainValidationState.json @@ -0,0 +1,42 @@ +{ + "name": "DomainValidationState", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "InternalError", + "value": "InternalError" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "PendingRevalidation", + "value": "PendingRevalidation" + }, + { + "key": "RefreshingValidationToken", + "value": "RefreshingValidationToken" + }, + { + "key": "Rejected", + "value": "Rejected" + }, + { + "key": "Submitting", + "value": "Submitting" + }, + { + "key": "TimedOut", + "value": "TimedOut" + }, + { + "key": "Unknown", + "value": "Unknown" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomain.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomain.json new file mode 100644 index 00000000000..0443809f2e3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomain.json @@ -0,0 +1,70 @@ +{ + "name": "AFDDomain", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDDomainProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainHTTPSParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainHTTPSParameters.json new file mode 100644 index 00000000000..c27cbcf5e98 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainHTTPSParameters.json @@ -0,0 +1,44 @@ +{ + "name": "AFDDomainHTTPSParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateType", + "name": "CertificateType", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdCertificateType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minimumTlsVersion", + "name": "MinimumTlsVersion", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdMinimumTlsVersion" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secret", + "name": "Secret", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainProperties.json new file mode 100644 index 00000000000..740da6c0a19 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainProperties.json @@ -0,0 +1,139 @@ +{ + "name": "AFDDomainProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "azureDnsZone", + "name": "AzureDnsZone", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "domainValidationState", + "name": "DomainValidationState", + "objectDefinition": { + "type": "Reference", + "referenceName": "DomainValidationState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "extendedProperties", + "name": "ExtendedProperties", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "preValidatedCustomDomainResourceId", + "name": "PreValidatedCustomDomainResourceId", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tlsSettings", + "name": "TlsSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDDomainHTTPSParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationProperties", + "name": "ValidationProperties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DomainValidationProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdateParameters.json new file mode 100644 index 00000000000..e569c3f1325 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "AFDDomainUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDDomainUpdatePropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdatePropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdatePropertiesParameters.json new file mode 100644 index 00000000000..7d3a0200510 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-AFDDomainUpdatePropertiesParameters.json @@ -0,0 +1,57 @@ +{ + "name": "AFDDomainUpdatePropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "azureDnsZone", + "name": "AzureDnsZone", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "preValidatedCustomDomainResourceId", + "name": "PreValidatedCustomDomainResourceId", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tlsSettings", + "name": "TlsSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDDomainHTTPSParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-DomainValidationProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-DomainValidationProperties.json new file mode 100644 index 00000000000..fc204a412f7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-DomainValidationProperties.json @@ -0,0 +1,31 @@ +{ + "name": "DomainValidationProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationToken", + "name": "ValidationToken", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Create.json new file mode 100644 index 00000000000..219b8d655b9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "CustomDomainId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDDomain" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDDomain" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Delete.json new file mode 100644 index 00000000000..ed09c55a230 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "CustomDomainId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Get.json new file mode 100644 index 00000000000..685d5dc8ebd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CustomDomainId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDDomain" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-ListByProfile.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-ListByProfile.json new file mode 100644 index 00000000000..e34fef1c53c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-ListByProfile.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProfile", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDDomain" + }, + "uriSuffix": "/customDomains" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-RefreshValidationToken.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-RefreshValidationToken.json new file mode 100644 index 00000000000..ad8afbadc69 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-RefreshValidationToken.json @@ -0,0 +1,12 @@ +{ + "name": "RefreshValidationToken", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "CustomDomainId", + "uriSuffix": "/refreshValidationToken" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Update.json new file mode 100644 index 00000000000..f0a0e6047a1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "CustomDomainId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDDomainUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDDomain" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-CustomDomainId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-CustomDomainId.json new file mode 100644 index 00000000000..3432987488d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-CustomDomainId.json @@ -0,0 +1,52 @@ +{ + "name": "CustomDomainId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/customDomains/{customDomainName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticCustomDomains", + "type": "Static", + "value": "customDomains" + }, + { + "name": "customDomainName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDCustomDomains/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AutoGeneratedDomainNameLabelScope.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AutoGeneratedDomainNameLabelScope.json new file mode 100644 index 00000000000..e8e3b80d2a4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-AutoGeneratedDomainNameLabelScope.json @@ -0,0 +1,22 @@ +{ + "name": "AutoGeneratedDomainNameLabelScope", + "type": "String", + "values": [ + { + "key": "NoReuse", + "value": "NoReuse" + }, + { + "key": "ResourceGroupReuse", + "value": "ResourceGroupReuse" + }, + { + "key": "SubscriptionReuse", + "value": "SubscriptionReuse" + }, + { + "key": "TenantReuse", + "value": "TenantReuse" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-EnabledState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-EnabledState.json new file mode 100644 index 00000000000..dc518f54c34 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-EnabledState.json @@ -0,0 +1,14 @@ +{ + "name": "EnabledState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-UsageUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-UsageUnit.json new file mode 100644 index 00000000000..87519ac0619 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Constant-UsageUnit.json @@ -0,0 +1,10 @@ +{ + "name": "UsageUnit", + "type": "String", + "values": [ + { + "key": "Count", + "value": "Count" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpoint.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpoint.json new file mode 100644 index 00000000000..a3aa481aa6c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpoint.json @@ -0,0 +1,96 @@ +{ + "name": "AFDEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDEndpointProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointProperties.json new file mode 100644 index 00000000000..10fc29a85fe --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointProperties.json @@ -0,0 +1,83 @@ +{ + "name": "AFDEndpointProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "autoGeneratedDomainNameLabelScope", + "name": "AutoGeneratedDomainNameLabelScope", + "objectDefinition": { + "type": "Reference", + "referenceName": "AutoGeneratedDomainNameLabelScope" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointPropertiesUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointPropertiesUpdateParameters.json new file mode 100644 index 00000000000..5bcadaf1de5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointPropertiesUpdateParameters.json @@ -0,0 +1,31 @@ +{ + "name": "AFDEndpointPropertiesUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointUpdateParameters.json new file mode 100644 index 00000000000..f1ca0099802 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AFDEndpointUpdateParameters.json @@ -0,0 +1,31 @@ +{ + "name": "AFDEndpointUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDEndpointPropertiesUpdateParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AfdPurgeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AfdPurgeParameters.json new file mode 100644 index 00000000000..55bf0295872 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-AfdPurgeParameters.json @@ -0,0 +1,39 @@ +{ + "name": "AfdPurgeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentPaths", + "name": "ContentPaths", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "domains", + "name": "Domains", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-Usage.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-Usage.json new file mode 100644 index 00000000000..f3f19f36a4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-Usage.json @@ -0,0 +1,70 @@ +{ + "name": "Usage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "currentValue", + "name": "CurrentValue", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "limit", + "name": "Limit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageUnit" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-UsageName.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-UsageName.json new file mode 100644 index 00000000000..11c032b6f4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-UsageName.json @@ -0,0 +1,31 @@ +{ + "name": "UsageName", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "localizedValue", + "name": "LocalizedValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainInput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainInput.json new file mode 100644 index 00000000000..223f809d477 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainInput.json @@ -0,0 +1,18 @@ +{ + "name": "ValidateCustomDomainInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainOutput.json new file mode 100644 index 00000000000..5a48c349831 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Model-ValidateCustomDomainOutput.json @@ -0,0 +1,44 @@ +{ + "name": "ValidateCustomDomainOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customDomainValidated", + "name": "CustomDomainValidated", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Create.json new file mode 100644 index 00000000000..32c868a2810 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "AfdEndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDEndpoint" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDEndpoint" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Delete.json new file mode 100644 index 00000000000..d8fee7576be --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "AfdEndpointId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Get.json new file mode 100644 index 00000000000..c57455ef595 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AfdEndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDEndpoint" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListByProfile.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListByProfile.json new file mode 100644 index 00000000000..292fe65c554 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListByProfile.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProfile", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDEndpoint" + }, + "uriSuffix": "/afdEndpoints" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListResourceUsage.json new file mode 100644 index 00000000000..41b67169df9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ListResourceUsage.json @@ -0,0 +1,16 @@ +{ + "name": "ListResourceUsage", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AfdEndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "Usage" + }, + "uriSuffix": "/usages" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-PurgeContent.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-PurgeContent.json new file mode 100644 index 00000000000..1c589eb169a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-PurgeContent.json @@ -0,0 +1,16 @@ +{ + "name": "PurgeContent", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "AfdEndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "AfdPurgeParameters" + }, + "uriSuffix": "/purge" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Update.json new file mode 100644 index 00000000000..ce49bb870be --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "AfdEndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDEndpointUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDEndpoint" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ValidateCustomDomain.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ValidateCustomDomain.json new file mode 100644 index 00000000000..091a7c35c7c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/Operation-ValidateCustomDomain.json @@ -0,0 +1,19 @@ +{ + "name": "ValidateCustomDomain", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "AfdEndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "ValidateCustomDomainInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ValidateCustomDomainOutput" + }, + "uriSuffix": "/validateCustomDomain" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-AfdEndpointId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-AfdEndpointId.json new file mode 100644 index 00000000000..421289dc5bc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-AfdEndpointId.json @@ -0,0 +1,52 @@ +{ + "name": "AfdEndpointId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/afdEndpoints/{afdEndpointName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticAfdEndpoints", + "type": "Static", + "value": "afdEndpoints" + }, + { + "name": "afdEndpointName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDEndpoints/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-EnabledState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-EnabledState.json new file mode 100644 index 00000000000..dc518f54c34 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-EnabledState.json @@ -0,0 +1,14 @@ +{ + "name": "EnabledState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-HealthProbeRequestType.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-HealthProbeRequestType.json new file mode 100644 index 00000000000..f1c37d7345c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-HealthProbeRequestType.json @@ -0,0 +1,18 @@ +{ + "name": "HealthProbeRequestType", + "type": "String", + "values": [ + { + "key": "GET", + "value": "GET" + }, + { + "key": "HEAD", + "value": "HEAD" + }, + { + "key": "NotSet", + "value": "NotSet" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-ProbeProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-ProbeProtocol.json new file mode 100644 index 00000000000..08d7e0733b0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-ProbeProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "ProbeProtocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "Http" + }, + { + "key": "HTTPS", + "value": "Https" + }, + { + "key": "NotSet", + "value": "NotSet" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-UsageUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-UsageUnit.json new file mode 100644 index 00000000000..87519ac0619 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Constant-UsageUnit.json @@ -0,0 +1,10 @@ +{ + "name": "UsageUnit", + "type": "String", + "values": [ + { + "key": "Count", + "value": "Count" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroup.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroup.json new file mode 100644 index 00000000000..34caf9ff760 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroup.json @@ -0,0 +1,70 @@ +{ + "name": "AFDOriginGroup", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDOriginGroupProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupProperties.json new file mode 100644 index 00000000000..22bd79233b3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupProperties.json @@ -0,0 +1,96 @@ +{ + "name": "AFDOriginGroupProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "healthProbeSettings", + "name": "HealthProbeSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loadBalancingSettings", + "name": "LoadBalancingSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "LoadBalancingSettingsParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sessionAffinityState", + "name": "SessionAffinityState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "trafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "name": "TrafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdateParameters.json new file mode 100644 index 00000000000..7cc98327237 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "AFDOriginGroupUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDOriginGroupUpdatePropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdatePropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdatePropertiesParameters.json new file mode 100644 index 00000000000..b0bc6150ee3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-AFDOriginGroupUpdatePropertiesParameters.json @@ -0,0 +1,70 @@ +{ + "name": "AFDOriginGroupUpdatePropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "healthProbeSettings", + "name": "HealthProbeSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "loadBalancingSettings", + "name": "LoadBalancingSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "LoadBalancingSettingsParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sessionAffinityState", + "name": "SessionAffinityState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "trafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "name": "TrafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-HealthProbeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-HealthProbeParameters.json new file mode 100644 index 00000000000..2bdd3cffaf6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-HealthProbeParameters.json @@ -0,0 +1,57 @@ +{ + "name": "HealthProbeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeIntervalInSeconds", + "name": "ProbeIntervalInSeconds", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probePath", + "name": "ProbePath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeProtocol", + "name": "ProbeProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProbeProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeRequestType", + "name": "ProbeRequestType", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeRequestType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-LoadBalancingSettingsParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-LoadBalancingSettingsParameters.json new file mode 100644 index 00000000000..f45730661e1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-LoadBalancingSettingsParameters.json @@ -0,0 +1,44 @@ +{ + "name": "LoadBalancingSettingsParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "additionalLatencyInMilliseconds", + "name": "AdditionalLatencyInMilliseconds", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sampleSize", + "name": "SampleSize", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "successfulSamplesRequired", + "name": "SuccessfulSamplesRequired", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-Usage.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-Usage.json new file mode 100644 index 00000000000..f3f19f36a4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-Usage.json @@ -0,0 +1,70 @@ +{ + "name": "Usage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "currentValue", + "name": "CurrentValue", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "limit", + "name": "Limit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageUnit" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-UsageName.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-UsageName.json new file mode 100644 index 00000000000..11c032b6f4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Model-UsageName.json @@ -0,0 +1,31 @@ +{ + "name": "UsageName", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "localizedValue", + "name": "LocalizedValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Create.json new file mode 100644 index 00000000000..6b930f0f212 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "OriginGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDOriginGroup" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDOriginGroup" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Delete.json new file mode 100644 index 00000000000..e26daeabd05 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "OriginGroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Get.json new file mode 100644 index 00000000000..dc9ff5b7837 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OriginGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDOriginGroup" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListByProfile.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListByProfile.json new file mode 100644 index 00000000000..47d88ff7547 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListByProfile.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProfile", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDOriginGroup" + }, + "uriSuffix": "/originGroups" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListResourceUsage.json new file mode 100644 index 00000000000..afb15d4f9f2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-ListResourceUsage.json @@ -0,0 +1,16 @@ +{ + "name": "ListResourceUsage", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "OriginGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "Usage" + }, + "uriSuffix": "/usages" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Update.json new file mode 100644 index 00000000000..fbc6ef33b19 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "OriginGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDOriginGroupUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDOriginGroup" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-OriginGroupId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-OriginGroupId.json new file mode 100644 index 00000000000..1f82eba4fe3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-OriginGroupId.json @@ -0,0 +1,52 @@ +{ + "name": "OriginGroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/originGroups/{originGroupName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticOriginGroups", + "type": "Static", + "value": "originGroups" + }, + { + "name": "originGroupName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOriginGroups/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-EnabledState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-EnabledState.json new file mode 100644 index 00000000000..dc518f54c34 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-EnabledState.json @@ -0,0 +1,14 @@ +{ + "name": "EnabledState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-SharedPrivateLinkResourceStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-SharedPrivateLinkResourceStatus.json new file mode 100644 index 00000000000..f62665421d3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Constant-SharedPrivateLinkResourceStatus.json @@ -0,0 +1,26 @@ +{ + "name": "SharedPrivateLinkResourceStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Disconnected", + "value": "Disconnected" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + }, + { + "key": "Timeout", + "value": "Timeout" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOrigin.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOrigin.json new file mode 100644 index 00000000000..dd366111262 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOrigin.json @@ -0,0 +1,70 @@ +{ + "name": "AFDOrigin", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDOriginProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginProperties.json new file mode 100644 index 00000000000..d49afa6c7eb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginProperties.json @@ -0,0 +1,174 @@ +{ + "name": "AFDOriginProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "azureOrigin", + "name": "AzureOrigin", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enforceCertificateNameCheck", + "name": "EnforceCertificateNameCheck", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpPort", + "name": "HTTPPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpsPort", + "name": "HTTPSPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroupName", + "name": "OriginGroupName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originHostHeader", + "name": "OriginHostHeader", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sharedPrivateLinkResource", + "name": "SharedPrivateLinkResource", + "objectDefinition": { + "type": "Reference", + "referenceName": "SharedPrivateLinkResourceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "weight", + "name": "Weight", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdateParameters.json new file mode 100644 index 00000000000..59acb803bcd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "AFDOriginUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "AFDOriginUpdatePropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdatePropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdatePropertiesParameters.json new file mode 100644 index 00000000000..023e6958404 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-AFDOriginUpdatePropertiesParameters.json @@ -0,0 +1,148 @@ +{ + "name": "AFDOriginUpdatePropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "azureOrigin", + "name": "AzureOrigin", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enforceCertificateNameCheck", + "name": "EnforceCertificateNameCheck", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpPort", + "name": "HTTPPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpsPort", + "name": "HTTPSPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroupName", + "name": "OriginGroupName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originHostHeader", + "name": "OriginHostHeader", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sharedPrivateLinkResource", + "name": "SharedPrivateLinkResource", + "objectDefinition": { + "type": "Reference", + "referenceName": "SharedPrivateLinkResourceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "weight", + "name": "Weight", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-SharedPrivateLinkResourceProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-SharedPrivateLinkResourceProperties.json new file mode 100644 index 00000000000..6e44963322e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Model-SharedPrivateLinkResourceProperties.json @@ -0,0 +1,70 @@ +{ + "name": "SharedPrivateLinkResourceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupId", + "name": "GroupId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLink", + "name": "PrivateLink", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkLocation", + "name": "PrivateLinkLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requestMessage", + "name": "RequestMessage", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "SharedPrivateLinkResourceStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Create.json new file mode 100644 index 00000000000..ce07b9b602c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "OriginGroupOriginId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDOrigin" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDOrigin" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Delete.json new file mode 100644 index 00000000000..aeb9d836441 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "OriginGroupOriginId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Get.json new file mode 100644 index 00000000000..7df370d596c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OriginGroupOriginId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDOrigin" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-ListByOriginGroup.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-ListByOriginGroup.json new file mode 100644 index 00000000000..70f3438aa43 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-ListByOriginGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByOriginGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OriginGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "AFDOrigin" + }, + "uriSuffix": "/origins" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Update.json new file mode 100644 index 00000000000..a49d27e7ec8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "OriginGroupOriginId", + "requestObject": { + "type": "Reference", + "referenceName": "AFDOriginUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AFDOrigin" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupId.json new file mode 100644 index 00000000000..1f82eba4fe3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupId.json @@ -0,0 +1,52 @@ +{ + "name": "OriginGroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/originGroups/{originGroupName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticOriginGroups", + "type": "Static", + "value": "originGroups" + }, + { + "name": "originGroupName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupOriginId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupOriginId.json new file mode 100644 index 00000000000..1a3aa6fa8dc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDOrigins/ResourceId-OriginGroupOriginId.json @@ -0,0 +1,61 @@ +{ + "name": "OriginGroupOriginId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticOriginGroups", + "type": "Static", + "value": "originGroups" + }, + { + "name": "originGroupName", + "type": "UserSpecified" + }, + { + "name": "staticOrigins", + "type": "Static", + "value": "origins" + }, + { + "name": "originName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-AutoGeneratedDomainNameLabelScope.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-AutoGeneratedDomainNameLabelScope.json new file mode 100644 index 00000000000..e8e3b80d2a4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-AutoGeneratedDomainNameLabelScope.json @@ -0,0 +1,22 @@ +{ + "name": "AutoGeneratedDomainNameLabelScope", + "type": "String", + "values": [ + { + "key": "NoReuse", + "value": "NoReuse" + }, + { + "key": "ResourceGroupReuse", + "value": "ResourceGroupReuse" + }, + { + "key": "SubscriptionReuse", + "value": "SubscriptionReuse" + }, + { + "key": "TenantReuse", + "value": "TenantReuse" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileProvisioningState.json new file mode 100644 index 00000000000..adffddb3da8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "ProfileProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileResourceState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileResourceState.json new file mode 100644 index 00000000000..2b4145ae23f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileResourceState.json @@ -0,0 +1,42 @@ +{ + "name": "ProfileResourceState", + "type": "String", + "values": [ + { + "key": "AbortingMigration", + "value": "AbortingMigration" + }, + { + "key": "Active", + "value": "Active" + }, + { + "key": "CommittingMigration", + "value": "CommittingMigration" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Migrated", + "value": "Migrated" + }, + { + "key": "Migrating", + "value": "Migrating" + }, + { + "key": "PendingMigrationCommit", + "value": "PendingMigrationCommit" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileScrubbingState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileScrubbingState.json new file mode 100644 index 00000000000..8c778883392 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ProfileScrubbingState.json @@ -0,0 +1,14 @@ +{ + "name": "ProfileScrubbingState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ResourceType.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ResourceType.json new file mode 100644 index 00000000000..403d7c3487e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ResourceType.json @@ -0,0 +1,14 @@ +{ + "name": "ResourceType", + "type": "String", + "values": [ + { + "key": "MicrosoftPointCdnProfilesAfdEndpoints", + "value": "Microsoft.Cdn/Profiles/AfdEndpoints" + }, + { + "key": "MicrosoftPointCdnProfilesEndpoints", + "value": "Microsoft.Cdn/Profiles/Endpoints" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchOperator.json new file mode 100644 index 00000000000..4cee36ab0db --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchOperator.json @@ -0,0 +1,10 @@ +{ + "name": "ScrubbingRuleEntryMatchOperator", + "type": "String", + "values": [ + { + "key": "EqualsAny", + "value": "EqualsAny" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchVariable.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchVariable.json new file mode 100644 index 00000000000..47eb893fe42 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryMatchVariable.json @@ -0,0 +1,18 @@ +{ + "name": "ScrubbingRuleEntryMatchVariable", + "type": "String", + "values": [ + { + "key": "QueryStringArgNames", + "value": "QueryStringArgNames" + }, + { + "key": "RequestIPAddress", + "value": "RequestIPAddress" + }, + { + "key": "RequestUri", + "value": "RequestUri" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryState.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryState.json new file mode 100644 index 00000000000..b09810594c6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-ScrubbingRuleEntryState.json @@ -0,0 +1,14 @@ +{ + "name": "ScrubbingRuleEntryState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SecretType.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SecretType.json new file mode 100644 index 00000000000..e2a3003ac24 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SecretType.json @@ -0,0 +1,22 @@ +{ + "name": "SecretType", + "type": "String", + "values": [ + { + "key": "AzureFirstPartyManagedCertificate", + "value": "AzureFirstPartyManagedCertificate" + }, + { + "key": "CustomerCertificate", + "value": "CustomerCertificate" + }, + { + "key": "ManagedCertificate", + "value": "ManagedCertificate" + }, + { + "key": "UrlSigningKey", + "value": "UrlSigningKey" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SkuName.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SkuName.json new file mode 100644 index 00000000000..0cb3d80d3f1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-SkuName.json @@ -0,0 +1,58 @@ +{ + "name": "SkuName", + "type": "String", + "values": [ + { + "key": "CustomVerizon", + "value": "Custom_Verizon" + }, + { + "key": "PremiumAzureFrontDoor", + "value": "Premium_AzureFrontDoor" + }, + { + "key": "PremiumVerizon", + "value": "Premium_Verizon" + }, + { + "key": "StandardAkamai", + "value": "Standard_Akamai" + }, + { + "key": "StandardAvgBandWidthChinaCdn", + "value": "Standard_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardAzureFrontDoor", + "value": "Standard_AzureFrontDoor" + }, + { + "key": "StandardChinaCdn", + "value": "Standard_ChinaCdn" + }, + { + "key": "StandardMicrosoft", + "value": "Standard_Microsoft" + }, + { + "key": "StandardNineFiveFiveBandWidthChinaCdn", + "value": "Standard_955BandWidth_ChinaCdn" + }, + { + "key": "StandardPlusAvgBandWidthChinaCdn", + "value": "StandardPlus_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardPlusChinaCdn", + "value": "StandardPlus_ChinaCdn" + }, + { + "key": "StandardPlusNineFiveFiveBandWidthChinaCdn", + "value": "StandardPlus_955BandWidth_ChinaCdn" + }, + { + "key": "StandardVerizon", + "value": "Standard_Verizon" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-Status.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-Status.json new file mode 100644 index 00000000000..5b4b4c79d55 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-Status.json @@ -0,0 +1,22 @@ +{ + "name": "Status", + "type": "String", + "values": [ + { + "key": "AccessDenied", + "value": "AccessDenied" + }, + { + "key": "CertificateExpired", + "value": "CertificateExpired" + }, + { + "key": "Invalid", + "value": "Invalid" + }, + { + "key": "Valid", + "value": "Valid" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-UsageUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-UsageUnit.json new file mode 100644 index 00000000000..87519ac0619 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Constant-UsageUnit.json @@ -0,0 +1,10 @@ +{ + "name": "UsageUnit", + "type": "String", + "values": [ + { + "key": "Count", + "value": "Count" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityInput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityInput.json new file mode 100644 index 00000000000..f7966ab448c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityInput.json @@ -0,0 +1,44 @@ +{ + "name": "CheckEndpointNameAvailabilityInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "autoGeneratedDomainNameLabelScope", + "name": "AutoGeneratedDomainNameLabelScope", + "objectDefinition": { + "type": "Reference", + "referenceName": "AutoGeneratedDomainNameLabelScope" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityOutput.json new file mode 100644 index 00000000000..193a2df4eab --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckEndpointNameAvailabilityOutput.json @@ -0,0 +1,57 @@ +{ + "name": "CheckEndpointNameAvailabilityOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "availableHostname", + "name": "AvailableHostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckHostNameAvailabilityInput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckHostNameAvailabilityInput.json new file mode 100644 index 00000000000..46891aee499 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckHostNameAvailabilityInput.json @@ -0,0 +1,18 @@ +{ + "name": "CheckHostNameAvailabilityInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckNameAvailabilityOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckNameAvailabilityOutput.json new file mode 100644 index 00000000000..b9e5aa03e47 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-CheckNameAvailabilityOutput.json @@ -0,0 +1,44 @@ +{ + "name": "CheckNameAvailabilityOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Profile.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Profile.json new file mode 100644 index 00000000000..e2ff9dd9637 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Profile.json @@ -0,0 +1,135 @@ +{ + "name": "Profile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "Sku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileChangeSkuWafMapping.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileChangeSkuWafMapping.json new file mode 100644 index 00000000000..5d47c25e1b8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileChangeSkuWafMapping.json @@ -0,0 +1,31 @@ +{ + "name": "ProfileChangeSkuWafMapping", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "changeToWafPolicy", + "name": "ChangeToWafPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "securityPolicyName", + "name": "SecurityPolicyName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileLogScrubbing.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileLogScrubbing.json new file mode 100644 index 00000000000..a4b0af9ef24 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileLogScrubbing.json @@ -0,0 +1,35 @@ +{ + "name": "ProfileLogScrubbing", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scrubbingRules", + "name": "ScrubbingRules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ProfileScrubbingRules" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileScrubbingState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileProperties.json new file mode 100644 index 00000000000..3d64d12116d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileProperties.json @@ -0,0 +1,87 @@ +{ + "name": "ProfileProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "extendedProperties", + "name": "ExtendedProperties", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontDoorId", + "name": "FrontDoorId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logScrubbing", + "name": "LogScrubbing", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileLogScrubbing" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originResponseTimeoutSeconds", + "name": "OriginResponseTimeoutSeconds", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileScrubbingRules.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileScrubbingRules.json new file mode 100644 index 00000000000..443d21db7b2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileScrubbingRules.json @@ -0,0 +1,57 @@ +{ + "name": "ProfileScrubbingRules", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchVariable", + "name": "MatchVariable", + "objectDefinition": { + "type": "Reference", + "referenceName": "ScrubbingRuleEntryMatchVariable" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selectorMatchOperator", + "name": "SelectorMatchOperator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ScrubbingRuleEntryMatchOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ScrubbingRuleEntryState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileUpgradeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileUpgradeParameters.json new file mode 100644 index 00000000000..6539993aa13 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ProfileUpgradeParameters.json @@ -0,0 +1,22 @@ +{ + "name": "ProfileUpgradeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wafMappingList", + "name": "WafMappingList", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ProfileChangeSkuWafMapping" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Sku.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Sku.json new file mode 100644 index 00000000000..57bc451be90 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Sku.json @@ -0,0 +1,18 @@ +{ + "name": "Sku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "SkuName" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Usage.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Usage.json new file mode 100644 index 00000000000..f3f19f36a4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-Usage.json @@ -0,0 +1,70 @@ +{ + "name": "Usage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "currentValue", + "name": "CurrentValue", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "limit", + "name": "Limit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageUnit" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-UsageName.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-UsageName.json new file mode 100644 index 00000000000..11c032b6f4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-UsageName.json @@ -0,0 +1,31 @@ +{ + "name": "UsageName", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "localizedValue", + "name": "LocalizedValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretInput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretInput.json new file mode 100644 index 00000000000..36a3d58dc57 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretInput.json @@ -0,0 +1,44 @@ +{ + "name": "ValidateSecretInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretSource", + "name": "SecretSource", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretType", + "name": "SecretType", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecretType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretVersion", + "name": "SecretVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretOutput.json new file mode 100644 index 00000000000..0b2b77f4c13 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Model-ValidateSecretOutput.json @@ -0,0 +1,31 @@ +{ + "name": "ValidateSecretOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "Status" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckEndpointNameAvailability.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckEndpointNameAvailability.json new file mode 100644 index 00000000000..d6dde274f28 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckEndpointNameAvailability.json @@ -0,0 +1,19 @@ +{ + "name": "CheckEndpointNameAvailability", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "requestObject": { + "type": "Reference", + "referenceName": "CheckEndpointNameAvailabilityInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CheckEndpointNameAvailabilityOutput" + }, + "uriSuffix": "/checkEndpointNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckHostNameAvailability.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckHostNameAvailability.json new file mode 100644 index 00000000000..4451de4d259 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-CheckHostNameAvailability.json @@ -0,0 +1,19 @@ +{ + "name": "CheckHostNameAvailability", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "requestObject": { + "type": "Reference", + "referenceName": "CheckHostNameAvailabilityInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityOutput" + }, + "uriSuffix": "/checkHostNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ListResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ListResourceUsage.json new file mode 100644 index 00000000000..793b9387ce7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ListResourceUsage.json @@ -0,0 +1,16 @@ +{ + "name": "ListResourceUsage", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "Usage" + }, + "uriSuffix": "/usages" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-Upgrade.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-Upgrade.json new file mode 100644 index 00000000000..d1a5698f57e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-Upgrade.json @@ -0,0 +1,20 @@ +{ + "name": "Upgrade", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "requestObject": { + "type": "Reference", + "referenceName": "ProfileUpgradeParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Profile" + }, + "uriSuffix": "/upgrade" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ValidateSecret.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ValidateSecret.json new file mode 100644 index 00000000000..7099dbd43ae --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/Operation-ValidateSecret.json @@ -0,0 +1,19 @@ +{ + "name": "ValidateSecret", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "requestObject": { + "type": "Reference", + "referenceName": "ValidateSecretInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ValidateSecretOutput" + }, + "uriSuffix": "/validateSecret" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/AFDProfiles/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/ApiVersionDefinition.json b/api-definitions/resource-manager/CDN/2024-02-01/ApiVersionDefinition.json new file mode 100644 index 00000000000..6312a430333 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/ApiVersionDefinition.json @@ -0,0 +1,32 @@ +{ + "apiVersion": "2024-02-01", + "isPreview": false, + "generate": true, + "resources": [ + "AFDCustomDomains", + "AFDEndpoints", + "AFDOriginGroups", + "AFDOrigins", + "AFDProfiles", + "CheckEndpointNameAvailability", + "CheckNameAvailability", + "CheckNameAvailabilityWithSubscription", + "CustomDomains", + "Edgenodes", + "Endpoints", + "LogAnalytics", + "OriginGroups", + "Origins", + "Profiles", + "Routes", + "RuleSets", + "Rules", + "Secrets", + "SecurityPolicies", + "ValidateProbe", + "WafLogAnalytics", + "WebApplicationFirewallManagedRuleSets", + "WebApplicationFirewallPolicies" + ], + "source": "Azure/azure-rest-api-specs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-AutoGeneratedDomainNameLabelScope.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-AutoGeneratedDomainNameLabelScope.json new file mode 100644 index 00000000000..e8e3b80d2a4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-AutoGeneratedDomainNameLabelScope.json @@ -0,0 +1,22 @@ +{ + "name": "AutoGeneratedDomainNameLabelScope", + "type": "String", + "values": [ + { + "key": "NoReuse", + "value": "NoReuse" + }, + { + "key": "ResourceGroupReuse", + "value": "ResourceGroupReuse" + }, + { + "key": "SubscriptionReuse", + "value": "SubscriptionReuse" + }, + { + "key": "TenantReuse", + "value": "TenantReuse" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-ResourceType.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-ResourceType.json new file mode 100644 index 00000000000..403d7c3487e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Constant-ResourceType.json @@ -0,0 +1,14 @@ +{ + "name": "ResourceType", + "type": "String", + "values": [ + { + "key": "MicrosoftPointCdnProfilesAfdEndpoints", + "value": "Microsoft.Cdn/Profiles/AfdEndpoints" + }, + { + "key": "MicrosoftPointCdnProfilesEndpoints", + "value": "Microsoft.Cdn/Profiles/Endpoints" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityInput.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityInput.json new file mode 100644 index 00000000000..f7966ab448c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityInput.json @@ -0,0 +1,44 @@ +{ + "name": "CheckEndpointNameAvailabilityInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "autoGeneratedDomainNameLabelScope", + "name": "AutoGeneratedDomainNameLabelScope", + "objectDefinition": { + "type": "Reference", + "referenceName": "AutoGeneratedDomainNameLabelScope" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityOutput.json new file mode 100644 index 00000000000..193a2df4eab --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Model-CheckEndpointNameAvailabilityOutput.json @@ -0,0 +1,57 @@ +{ + "name": "CheckEndpointNameAvailabilityOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "availableHostname", + "name": "AvailableHostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Operation-CheckEndpointNameAvailability.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Operation-CheckEndpointNameAvailability.json new file mode 100644 index 00000000000..3ef652ecb3f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/Operation-CheckEndpointNameAvailability.json @@ -0,0 +1,19 @@ +{ + "name": "CheckEndpointNameAvailability", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ResourceGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "CheckEndpointNameAvailabilityInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CheckEndpointNameAvailabilityOutput" + }, + "uriSuffix": "/providers/Microsoft.CDN/checkEndpointNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckEndpointNameAvailability/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Constant-ResourceType.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Constant-ResourceType.json new file mode 100644 index 00000000000..403d7c3487e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Constant-ResourceType.json @@ -0,0 +1,14 @@ +{ + "name": "ResourceType", + "type": "String", + "values": [ + { + "key": "MicrosoftPointCdnProfilesAfdEndpoints", + "value": "Microsoft.Cdn/Profiles/AfdEndpoints" + }, + { + "key": "MicrosoftPointCdnProfilesEndpoints", + "value": "Microsoft.Cdn/Profiles/Endpoints" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityInput.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityInput.json new file mode 100644 index 00000000000..d0a420b1728 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityInput.json @@ -0,0 +1,31 @@ +{ + "name": "CheckNameAvailabilityInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityOutput.json new file mode 100644 index 00000000000..b9e5aa03e47 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Model-CheckNameAvailabilityOutput.json @@ -0,0 +1,44 @@ +{ + "name": "CheckNameAvailabilityOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Operation-CheckNameAvailability.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Operation-CheckNameAvailability.json new file mode 100644 index 00000000000..4cc084e8103 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailability/Operation-CheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "name": "CheckNameAvailability", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "requestObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityOutput" + }, + "uriSuffix": "/providers/Microsoft.CDN/checkNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Constant-ResourceType.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Constant-ResourceType.json new file mode 100644 index 00000000000..403d7c3487e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Constant-ResourceType.json @@ -0,0 +1,14 @@ +{ + "name": "ResourceType", + "type": "String", + "values": [ + { + "key": "MicrosoftPointCdnProfilesAfdEndpoints", + "value": "Microsoft.Cdn/Profiles/AfdEndpoints" + }, + { + "key": "MicrosoftPointCdnProfilesEndpoints", + "value": "Microsoft.Cdn/Profiles/Endpoints" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityInput.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityInput.json new file mode 100644 index 00000000000..d0a420b1728 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityInput.json @@ -0,0 +1,31 @@ +{ + "name": "CheckNameAvailabilityInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityOutput.json new file mode 100644 index 00000000000..b9e5aa03e47 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Model-CheckNameAvailabilityOutput.json @@ -0,0 +1,44 @@ +{ + "name": "CheckNameAvailabilityOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nameAvailable", + "name": "NameAvailable", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Operation-CheckNameAvailabilityWithSubscription.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Operation-CheckNameAvailabilityWithSubscription.json new file mode 100644 index 00000000000..fe90014fc35 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/Operation-CheckNameAvailabilityWithSubscription.json @@ -0,0 +1,19 @@ +{ + "name": "CheckNameAvailabilityWithSubscription", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "SubscriptionId", + "requestObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CheckNameAvailabilityOutput" + }, + "uriSuffix": "/providers/Microsoft.CDN/checkNameAvailability" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CheckNameAvailabilityWithSubscription/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSource.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSource.json new file mode 100644 index 00000000000..a4e7a318349 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSource.json @@ -0,0 +1,14 @@ +{ + "name": "CertificateSource", + "type": "String", + "values": [ + { + "key": "AzureKeyVault", + "value": "AzureKeyVault" + }, + { + "key": "Cdn", + "value": "Cdn" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSourceParametersType.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSourceParametersType.json new file mode 100644 index 00000000000..2261cd04cd9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateSourceParametersType.json @@ -0,0 +1,14 @@ +{ + "name": "CertificateSourceParametersType", + "type": "String", + "values": [ + { + "key": "CdnCertificateSourceParameters", + "value": "CdnCertificateSourceParameters" + }, + { + "key": "KeyVaultCertificateSourceParameters", + "value": "KeyVaultCertificateSourceParameters" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateType.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateType.json new file mode 100644 index 00000000000..7be3926f71d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CertificateType.json @@ -0,0 +1,14 @@ +{ + "name": "CertificateType", + "type": "String", + "values": [ + { + "key": "Dedicated", + "value": "Dedicated" + }, + { + "key": "Shared", + "value": "Shared" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomDomainResourceState.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomDomainResourceState.json new file mode 100644 index 00000000000..3f2ae591cfe --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomDomainResourceState.json @@ -0,0 +1,18 @@ +{ + "name": "CustomDomainResourceState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "Active" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningState.json new file mode 100644 index 00000000000..2551d8a0416 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "CustomHTTPSProvisioningState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Disabling", + "value": "Disabling" + }, + { + "key": "Enabled", + "value": "Enabled" + }, + { + "key": "Enabling", + "value": "Enabling" + }, + { + "key": "Failed", + "value": "Failed" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningSubstate.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningSubstate.json new file mode 100644 index 00000000000..2cb050aa3cf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-CustomHTTPSProvisioningSubstate.json @@ -0,0 +1,46 @@ +{ + "name": "CustomHTTPSProvisioningSubstate", + "type": "String", + "values": [ + { + "key": "CertificateDeleted", + "value": "CertificateDeleted" + }, + { + "key": "CertificateDeployed", + "value": "CertificateDeployed" + }, + { + "key": "DeletingCertificate", + "value": "DeletingCertificate" + }, + { + "key": "DeployingCertificate", + "value": "DeployingCertificate" + }, + { + "key": "DomainControlValidationRequestApproved", + "value": "DomainControlValidationRequestApproved" + }, + { + "key": "DomainControlValidationRequestRejected", + "value": "DomainControlValidationRequestRejected" + }, + { + "key": "DomainControlValidationRequestTimedOut", + "value": "DomainControlValidationRequestTimedOut" + }, + { + "key": "IssuingCertificate", + "value": "IssuingCertificate" + }, + { + "key": "PendingDomainControlValidationREquestApproval", + "value": "PendingDomainControlValidationREquestApproval" + }, + { + "key": "SubmittingDomainControlValidationRequest", + "value": "SubmittingDomainControlValidationRequest" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-DeleteRule.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-DeleteRule.json new file mode 100644 index 00000000000..f5dd5cb6e72 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-DeleteRule.json @@ -0,0 +1,10 @@ +{ + "name": "DeleteRule", + "type": "String", + "values": [ + { + "key": "NoAction", + "value": "NoAction" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-MinimumTlsVersion.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-MinimumTlsVersion.json new file mode 100644 index 00000000000..45574ba90c2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-MinimumTlsVersion.json @@ -0,0 +1,18 @@ +{ + "name": "MinimumTlsVersion", + "type": "String", + "values": [ + { + "key": "None", + "value": "None" + }, + { + "key": "TLSOneTwo", + "value": "TLS12" + }, + { + "key": "TLSOneZero", + "value": "TLS10" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-ProtocolType.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-ProtocolType.json new file mode 100644 index 00000000000..70dcafce343 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-ProtocolType.json @@ -0,0 +1,14 @@ +{ + "name": "ProtocolType", + "type": "String", + "values": [ + { + "key": "IPBased", + "value": "IPBased" + }, + { + "key": "ServerNameIndication", + "value": "ServerNameIndication" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-UpdateRule.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-UpdateRule.json new file mode 100644 index 00000000000..feed8bbbfc3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Constant-UpdateRule.json @@ -0,0 +1,10 @@ +{ + "name": "UpdateRule", + "type": "String", + "values": [ + { + "key": "NoAction", + "value": "NoAction" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnCertificateSourceParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnCertificateSourceParameters.json new file mode 100644 index 00000000000..d113363a4eb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnCertificateSourceParameters.json @@ -0,0 +1,21 @@ +{ + "name": "CdnCertificateSourceParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateType", + "name": "CertificateType", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "CertificateSourceParameters", + "discriminatedTypeValue": "CdnCertificateSourceParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnManagedHTTPSParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnManagedHTTPSParameters.json new file mode 100644 index 00000000000..d75fb67c75c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CdnManagedHTTPSParameters.json @@ -0,0 +1,21 @@ +{ + "name": "CdnManagedHTTPSParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateSourceParameters", + "name": "CertificateSourceParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CdnCertificateSourceParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "CustomDomainHTTPSParameters", + "discriminatedTypeValue": "Cdn", + "typeHintIn": "CertificateSource" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CertificateSourceParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CertificateSourceParameters.json new file mode 100644 index 00000000000..87891bf5b99 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CertificateSourceParameters.json @@ -0,0 +1,19 @@ +{ + "name": "CertificateSourceParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateSourceParametersType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomain.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomain.json new file mode 100644 index 00000000000..392a10543dc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomain.json @@ -0,0 +1,70 @@ +{ + "name": "CustomDomain", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomDomainProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainHTTPSParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainHTTPSParameters.json new file mode 100644 index 00000000000..9bc0bb064f4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainHTTPSParameters.json @@ -0,0 +1,45 @@ +{ + "name": "CustomDomainHTTPSParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "certificateSource", + "name": "CertificateSource", + "objectDefinition": { + "type": "Reference", + "referenceName": "CertificateSource" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minimumTlsVersion", + "name": "MinimumTlsVersion", + "objectDefinition": { + "type": "Reference", + "referenceName": "MinimumTlsVersion" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "protocolType", + "name": "ProtocolType", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProtocolType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "CertificateSource" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainParameters.json new file mode 100644 index 00000000000..527b142a5d1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainParameters.json @@ -0,0 +1,18 @@ +{ + "name": "CustomDomainParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomDomainPropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainProperties.json new file mode 100644 index 00000000000..405e4474aa4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainProperties.json @@ -0,0 +1,96 @@ +{ + "name": "CustomDomainProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customHttpsParameters", + "name": "CustomHTTPSParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomDomainHTTPSParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customHttpsProvisioningState", + "name": "CustomHTTPSProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomHTTPSProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customHttpsProvisioningSubstate", + "name": "CustomHTTPSProvisioningSubstate", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomHTTPSProvisioningSubstate" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomHTTPSProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomDomainResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationData", + "name": "ValidationData", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainPropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainPropertiesParameters.json new file mode 100644 index 00000000000..db165eec05c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-CustomDomainPropertiesParameters.json @@ -0,0 +1,18 @@ +{ + "name": "CustomDomainPropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-KeyVaultCertificateSourceParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-KeyVaultCertificateSourceParameters.json new file mode 100644 index 00000000000..c962c73ac1c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-KeyVaultCertificateSourceParameters.json @@ -0,0 +1,99 @@ +{ + "name": "KeyVaultCertificateSourceParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deleteRule", + "name": "DeleteRule", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeleteRule" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceGroupName", + "name": "ResourceGroupName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretName", + "name": "SecretName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretVersion", + "name": "SecretVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionId", + "name": "SubscriptionId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "updateRule", + "name": "UpdateRule", + "objectDefinition": { + "type": "Reference", + "referenceName": "UpdateRule" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "vaultName", + "name": "VaultName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "CertificateSourceParameters", + "discriminatedTypeValue": "KeyVaultCertificateSourceParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-UserManagedHTTPSParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-UserManagedHTTPSParameters.json new file mode 100644 index 00000000000..6f9397a24c1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Model-UserManagedHTTPSParameters.json @@ -0,0 +1,21 @@ +{ + "name": "UserManagedHTTPSParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateSourceParameters", + "name": "CertificateSourceParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultCertificateSourceParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "CustomDomainHTTPSParameters", + "discriminatedTypeValue": "AzureKeyVault", + "typeHintIn": "CertificateSource" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Create.json new file mode 100644 index 00000000000..96354010699 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "EndpointCustomDomainId", + "requestObject": { + "type": "Reference", + "referenceName": "CustomDomainParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CustomDomain" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Delete.json new file mode 100644 index 00000000000..ef79a71d772 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Delete.json @@ -0,0 +1,16 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "EndpointCustomDomainId", + "responseObject": { + "type": "Reference", + "referenceName": "CustomDomain" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-DisableCustomHTTPS.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-DisableCustomHTTPS.json new file mode 100644 index 00000000000..4a0037b770f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-DisableCustomHTTPS.json @@ -0,0 +1,16 @@ +{ + "name": "DisableCustomHTTPS", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "EndpointCustomDomainId", + "responseObject": { + "type": "Reference", + "referenceName": "CustomDomain" + }, + "uriSuffix": "/disableCustomHttps" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-EnableCustomHTTPS.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-EnableCustomHTTPS.json new file mode 100644 index 00000000000..9e539ae5384 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-EnableCustomHTTPS.json @@ -0,0 +1,20 @@ +{ + "name": "EnableCustomHTTPS", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "EndpointCustomDomainId", + "requestObject": { + "type": "Reference", + "referenceName": "CustomDomainHTTPSParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CustomDomain" + }, + "uriSuffix": "/enableCustomHttps" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Get.json new file mode 100644 index 00000000000..0f4eb30b53b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "EndpointCustomDomainId", + "responseObject": { + "type": "Reference", + "referenceName": "CustomDomain" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-ListByEndpoint.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-ListByEndpoint.json new file mode 100644 index 00000000000..dc68d88b7f4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/Operation-ListByEndpoint.json @@ -0,0 +1,16 @@ +{ + "name": "ListByEndpoint", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "EndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "CustomDomain" + }, + "uriSuffix": "/customDomains" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointCustomDomainId.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointCustomDomainId.json new file mode 100644 index 00000000000..d63252ddc21 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointCustomDomainId.json @@ -0,0 +1,61 @@ +{ + "name": "EndpointCustomDomainId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticEndpoints", + "type": "Static", + "value": "endpoints" + }, + { + "name": "endpointName", + "type": "UserSpecified" + }, + { + "name": "staticCustomDomains", + "type": "Static", + "value": "customDomains" + }, + { + "name": "customDomainName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointId.json b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointId.json new file mode 100644 index 00000000000..41cce00a917 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/CustomDomains/ResourceId-EndpointId.json @@ -0,0 +1,52 @@ +{ + "name": "EndpointId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/endpoints/{endpointName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticEndpoints", + "type": "Static", + "value": "endpoints" + }, + { + "name": "endpointName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-CidrIPAddress.json b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-CidrIPAddress.json new file mode 100644 index 00000000000..c6f946d149c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-CidrIPAddress.json @@ -0,0 +1,31 @@ +{ + "name": "CidrIPAddress", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "baseIpAddress", + "name": "BaseIPAddress", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "prefixLength", + "name": "PrefixLength", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNode.json b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNode.json new file mode 100644 index 00000000000..fa1c3730e5d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNode.json @@ -0,0 +1,70 @@ +{ + "name": "EdgeNode", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "EdgeNodeProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNodeProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNodeProperties.json new file mode 100644 index 00000000000..734d98deac2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-EdgeNodeProperties.json @@ -0,0 +1,22 @@ +{ + "name": "EdgeNodeProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ipAddressGroups", + "name": "IPAddressGroups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "IPAddressGroup" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-IPAddressGroup.json b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-IPAddressGroup.json new file mode 100644 index 00000000000..cd32304dc8b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Model-IPAddressGroup.json @@ -0,0 +1,52 @@ +{ + "name": "IPAddressGroup", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deliveryRegion", + "name": "DeliveryRegion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ipv4Addresses", + "name": "IPv4Addresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "CidrIPAddress" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ipv6Addresses", + "name": "IPv6Addresses", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "CidrIPAddress" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Operation-List.json b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Operation-List.json new file mode 100644 index 00000000000..2a9e18411dc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Edgenodes/Operation-List.json @@ -0,0 +1,15 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "responseObject": { + "type": "Reference", + "referenceName": "EdgeNode" + }, + "uriSuffix": "/providers/Microsoft.CDN/edgenodes" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Algorithm.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Algorithm.json new file mode 100644 index 00000000000..cf95bccb606 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Algorithm.json @@ -0,0 +1,10 @@ +{ + "name": "Algorithm", + "type": "String", + "values": [ + { + "key": "SHATwoFiveSix", + "value": "SHA256" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheBehavior.json new file mode 100644 index 00000000000..ebf47ca8c75 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheBehavior.json @@ -0,0 +1,18 @@ +{ + "name": "CacheBehavior", + "type": "String", + "values": [ + { + "key": "BypassCache", + "value": "BypassCache" + }, + { + "key": "Override", + "value": "Override" + }, + { + "key": "SetIfMissing", + "value": "SetIfMissing" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheType.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheType.json new file mode 100644 index 00000000000..3bb10631931 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CacheType.json @@ -0,0 +1,10 @@ +{ + "name": "CacheType", + "type": "String", + "values": [ + { + "key": "All", + "value": "All" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ClientPortOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ClientPortOperator.json new file mode 100644 index 00000000000..1f17ed00ea0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ClientPortOperator.json @@ -0,0 +1,46 @@ +{ + "name": "ClientPortOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CookiesOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CookiesOperator.json new file mode 100644 index 00000000000..766edb57ee4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-CookiesOperator.json @@ -0,0 +1,46 @@ +{ + "name": "CookiesOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionName.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionName.json new file mode 100644 index 00000000000..058a4a19e84 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionName.json @@ -0,0 +1,42 @@ +{ + "name": "DeliveryRuleActionName", + "type": "String", + "values": [ + { + "key": "CacheExpiration", + "value": "CacheExpiration" + }, + { + "key": "CacheKeyQueryString", + "value": "CacheKeyQueryString" + }, + { + "key": "ModifyRequestHeader", + "value": "ModifyRequestHeader" + }, + { + "key": "ModifyResponseHeader", + "value": "ModifyResponseHeader" + }, + { + "key": "OriginGroupOverride", + "value": "OriginGroupOverride" + }, + { + "key": "RouteConfigurationOverride", + "value": "RouteConfigurationOverride" + }, + { + "key": "UrlRedirect", + "value": "UrlRedirect" + }, + { + "key": "UrlRewrite", + "value": "UrlRewrite" + }, + { + "key": "UrlSigning", + "value": "UrlSigning" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionParametersType.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionParametersType.json new file mode 100644 index 00000000000..7ec3698d153 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleActionParametersType.json @@ -0,0 +1,38 @@ +{ + "name": "DeliveryRuleActionParametersType", + "type": "String", + "values": [ + { + "key": "DeliveryRuleCacheExpirationActionParameters", + "value": "DeliveryRuleCacheExpirationActionParameters" + }, + { + "key": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters", + "value": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + }, + { + "key": "DeliveryRuleHeaderActionParameters", + "value": "DeliveryRuleHeaderActionParameters" + }, + { + "key": "DeliveryRuleOriginGroupOverrideActionParameters", + "value": "DeliveryRuleOriginGroupOverrideActionParameters" + }, + { + "key": "DeliveryRuleRouteConfigurationOverrideActionParameters", + "value": "DeliveryRuleRouteConfigurationOverrideActionParameters" + }, + { + "key": "DeliveryRuleUrlRedirectActionParameters", + "value": "DeliveryRuleUrlRedirectActionParameters" + }, + { + "key": "DeliveryRuleUrlRewriteActionParameters", + "value": "DeliveryRuleUrlRewriteActionParameters" + }, + { + "key": "DeliveryRuleUrlSigningActionParameters", + "value": "DeliveryRuleUrlSigningActionParameters" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleConditionParametersType.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleConditionParametersType.json new file mode 100644 index 00000000000..056f5cbe50b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DeliveryRuleConditionParametersType.json @@ -0,0 +1,82 @@ +{ + "name": "DeliveryRuleConditionParametersType", + "type": "String", + "values": [ + { + "key": "DeliveryRuleClientPortConditionParameters", + "value": "DeliveryRuleClientPortConditionParameters" + }, + { + "key": "DeliveryRuleCookiesConditionParameters", + "value": "DeliveryRuleCookiesConditionParameters" + }, + { + "key": "DeliveryRuleHTTPVersionConditionParameters", + "value": "DeliveryRuleHttpVersionConditionParameters" + }, + { + "key": "DeliveryRuleHostNameConditionParameters", + "value": "DeliveryRuleHostNameConditionParameters" + }, + { + "key": "DeliveryRuleIsDeviceConditionParameters", + "value": "DeliveryRuleIsDeviceConditionParameters" + }, + { + "key": "DeliveryRulePostArgsConditionParameters", + "value": "DeliveryRulePostArgsConditionParameters" + }, + { + "key": "DeliveryRuleQueryStringConditionParameters", + "value": "DeliveryRuleQueryStringConditionParameters" + }, + { + "key": "DeliveryRuleRemoteAddressConditionParameters", + "value": "DeliveryRuleRemoteAddressConditionParameters" + }, + { + "key": "DeliveryRuleRequestBodyConditionParameters", + "value": "DeliveryRuleRequestBodyConditionParameters" + }, + { + "key": "DeliveryRuleRequestHeaderConditionParameters", + "value": "DeliveryRuleRequestHeaderConditionParameters" + }, + { + "key": "DeliveryRuleRequestMethodConditionParameters", + "value": "DeliveryRuleRequestMethodConditionParameters" + }, + { + "key": "DeliveryRuleRequestSchemeConditionParameters", + "value": "DeliveryRuleRequestSchemeConditionParameters" + }, + { + "key": "DeliveryRuleRequestUriConditionParameters", + "value": "DeliveryRuleRequestUriConditionParameters" + }, + { + "key": "DeliveryRuleServerPortConditionParameters", + "value": "DeliveryRuleServerPortConditionParameters" + }, + { + "key": "DeliveryRuleSocketAddrConditionParameters", + "value": "DeliveryRuleSocketAddrConditionParameters" + }, + { + "key": "DeliveryRuleSslProtocolConditionParameters", + "value": "DeliveryRuleSslProtocolConditionParameters" + }, + { + "key": "DeliveryRuleUrlFileExtensionMatchConditionParameters", + "value": "DeliveryRuleUrlFileExtensionMatchConditionParameters" + }, + { + "key": "DeliveryRuleUrlFilenameConditionParameters", + "value": "DeliveryRuleUrlFilenameConditionParameters" + }, + { + "key": "DeliveryRuleUrlPathMatchConditionParameters", + "value": "DeliveryRuleUrlPathMatchConditionParameters" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DestinationProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DestinationProtocol.json new file mode 100644 index 00000000000..95d105619c8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-DestinationProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "DestinationProtocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "Http" + }, + { + "key": "HTTPS", + "value": "Https" + }, + { + "key": "MatchRequest", + "value": "MatchRequest" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointProvisioningState.json new file mode 100644 index 00000000000..538f9a53aac --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "EndpointProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointResourceState.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointResourceState.json new file mode 100644 index 00000000000..5d9f5dba15e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-EndpointResourceState.json @@ -0,0 +1,30 @@ +{ + "name": "EndpointResourceState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Running", + "value": "Running" + }, + { + "key": "Starting", + "value": "Starting" + }, + { + "key": "Stopped", + "value": "Stopped" + }, + { + "key": "Stopping", + "value": "Stopping" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ForwardingProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ForwardingProtocol.json new file mode 100644 index 00000000000..a65b30e0242 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ForwardingProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "ForwardingProtocol", + "type": "String", + "values": [ + { + "key": "HTTPOnly", + "value": "HttpOnly" + }, + { + "key": "HTTPSOnly", + "value": "HttpsOnly" + }, + { + "key": "MatchRequest", + "value": "MatchRequest" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-GeoFilterActions.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-GeoFilterActions.json new file mode 100644 index 00000000000..0b77e7501fb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-GeoFilterActions.json @@ -0,0 +1,14 @@ +{ + "name": "GeoFilterActions", + "type": "String", + "values": [ + { + "key": "Allow", + "value": "Allow" + }, + { + "key": "Block", + "value": "Block" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HTTPVersionOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HTTPVersionOperator.json new file mode 100644 index 00000000000..b8490e88112 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HTTPVersionOperator.json @@ -0,0 +1,10 @@ +{ + "name": "HTTPVersionOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HeaderAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HeaderAction.json new file mode 100644 index 00000000000..0008375c7cd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HeaderAction.json @@ -0,0 +1,18 @@ +{ + "name": "HeaderAction", + "type": "String", + "values": [ + { + "key": "Append", + "value": "Append" + }, + { + "key": "Delete", + "value": "Delete" + }, + { + "key": "Overwrite", + "value": "Overwrite" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HealthProbeRequestType.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HealthProbeRequestType.json new file mode 100644 index 00000000000..f1c37d7345c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HealthProbeRequestType.json @@ -0,0 +1,18 @@ +{ + "name": "HealthProbeRequestType", + "type": "String", + "values": [ + { + "key": "GET", + "value": "GET" + }, + { + "key": "HEAD", + "value": "HEAD" + }, + { + "key": "NotSet", + "value": "NotSet" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HostNameOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HostNameOperator.json new file mode 100644 index 00000000000..3afe837ee2a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-HostNameOperator.json @@ -0,0 +1,46 @@ +{ + "name": "HostNameOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceMatchValue.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceMatchValue.json new file mode 100644 index 00000000000..4960058708f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceMatchValue.json @@ -0,0 +1,14 @@ +{ + "name": "IsDeviceMatchValue", + "type": "String", + "values": [ + { + "key": "Desktop", + "value": "Desktop" + }, + { + "key": "Mobile", + "value": "Mobile" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceOperator.json new file mode 100644 index 00000000000..cc5a40ac8d1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-IsDeviceOperator.json @@ -0,0 +1,10 @@ +{ + "name": "IsDeviceOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-KeyVaultSigningKeyParametersType.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-KeyVaultSigningKeyParametersType.json new file mode 100644 index 00000000000..594e76ce185 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-KeyVaultSigningKeyParametersType.json @@ -0,0 +1,10 @@ +{ + "name": "KeyVaultSigningKeyParametersType", + "type": "String", + "values": [ + { + "key": "KeyVaultSigningKeyParameters", + "value": "KeyVaultSigningKeyParameters" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-MatchVariable.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-MatchVariable.json new file mode 100644 index 00000000000..912b1b5de84 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-MatchVariable.json @@ -0,0 +1,82 @@ +{ + "name": "MatchVariable", + "type": "String", + "values": [ + { + "key": "ClientPort", + "value": "ClientPort" + }, + { + "key": "Cookies", + "value": "Cookies" + }, + { + "key": "HTTPVersion", + "value": "HttpVersion" + }, + { + "key": "HostName", + "value": "HostName" + }, + { + "key": "IsDevice", + "value": "IsDevice" + }, + { + "key": "PostArgs", + "value": "PostArgs" + }, + { + "key": "QueryString", + "value": "QueryString" + }, + { + "key": "RemoteAddress", + "value": "RemoteAddress" + }, + { + "key": "RequestBody", + "value": "RequestBody" + }, + { + "key": "RequestHeader", + "value": "RequestHeader" + }, + { + "key": "RequestMethod", + "value": "RequestMethod" + }, + { + "key": "RequestScheme", + "value": "RequestScheme" + }, + { + "key": "RequestUri", + "value": "RequestUri" + }, + { + "key": "ServerPort", + "value": "ServerPort" + }, + { + "key": "SocketAddr", + "value": "SocketAddr" + }, + { + "key": "SslProtocol", + "value": "SslProtocol" + }, + { + "key": "UrlFileExtension", + "value": "UrlFileExtension" + }, + { + "key": "UrlFileName", + "value": "UrlFileName" + }, + { + "key": "UrlPath", + "value": "UrlPath" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Operator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Operator.json new file mode 100644 index 00000000000..768ad11d775 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Operator.json @@ -0,0 +1,10 @@ +{ + "name": "Operator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-OptimizationType.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-OptimizationType.json new file mode 100644 index 00000000000..c70ac307034 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-OptimizationType.json @@ -0,0 +1,26 @@ +{ + "name": "OptimizationType", + "type": "String", + "values": [ + { + "key": "DynamicSiteAcceleration", + "value": "DynamicSiteAcceleration" + }, + { + "key": "GeneralMediaStreaming", + "value": "GeneralMediaStreaming" + }, + { + "key": "GeneralWebDelivery", + "value": "GeneralWebDelivery" + }, + { + "key": "LargeFileDownload", + "value": "LargeFileDownload" + }, + { + "key": "VideoOnDemandMediaStreaming", + "value": "VideoOnDemandMediaStreaming" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ParamIndicator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ParamIndicator.json new file mode 100644 index 00000000000..d4a6db672d5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ParamIndicator.json @@ -0,0 +1,18 @@ +{ + "name": "ParamIndicator", + "type": "String", + "values": [ + { + "key": "Expires", + "value": "Expires" + }, + { + "key": "KeyId", + "value": "KeyId" + }, + { + "key": "Signature", + "value": "Signature" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PostArgsOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PostArgsOperator.json new file mode 100644 index 00000000000..15ad819a09b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PostArgsOperator.json @@ -0,0 +1,46 @@ +{ + "name": "PostArgsOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PrivateEndpointStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PrivateEndpointStatus.json new file mode 100644 index 00000000000..e9768d00131 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-PrivateEndpointStatus.json @@ -0,0 +1,26 @@ +{ + "name": "PrivateEndpointStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Disconnected", + "value": "Disconnected" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + }, + { + "key": "Timeout", + "value": "Timeout" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ProbeProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ProbeProtocol.json new file mode 100644 index 00000000000..08d7e0733b0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ProbeProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "ProbeProtocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "Http" + }, + { + "key": "HTTPS", + "value": "Https" + }, + { + "key": "NotSet", + "value": "NotSet" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringBehavior.json new file mode 100644 index 00000000000..725256ba18a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringBehavior.json @@ -0,0 +1,22 @@ +{ + "name": "QueryStringBehavior", + "type": "String", + "values": [ + { + "key": "Exclude", + "value": "Exclude" + }, + { + "key": "ExcludeAll", + "value": "ExcludeAll" + }, + { + "key": "Include", + "value": "Include" + }, + { + "key": "IncludeAll", + "value": "IncludeAll" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringCachingBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringCachingBehavior.json new file mode 100644 index 00000000000..095610f36cc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringCachingBehavior.json @@ -0,0 +1,22 @@ +{ + "name": "QueryStringCachingBehavior", + "type": "String", + "values": [ + { + "key": "BypassCaching", + "value": "BypassCaching" + }, + { + "key": "IgnoreQueryString", + "value": "IgnoreQueryString" + }, + { + "key": "NotSet", + "value": "NotSet" + }, + { + "key": "UseQueryString", + "value": "UseQueryString" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringOperator.json new file mode 100644 index 00000000000..bf2916a9ec1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-QueryStringOperator.json @@ -0,0 +1,46 @@ +{ + "name": "QueryStringOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RedirectType.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RedirectType.json new file mode 100644 index 00000000000..329972e6d1e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RedirectType.json @@ -0,0 +1,22 @@ +{ + "name": "RedirectType", + "type": "String", + "values": [ + { + "key": "Found", + "value": "Found" + }, + { + "key": "Moved", + "value": "Moved" + }, + { + "key": "PermanentRedirect", + "value": "PermanentRedirect" + }, + { + "key": "TemporaryRedirect", + "value": "TemporaryRedirect" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RemoteAddressOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RemoteAddressOperator.json new file mode 100644 index 00000000000..bbfe6d02548 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RemoteAddressOperator.json @@ -0,0 +1,18 @@ +{ + "name": "RemoteAddressOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "GeoMatch", + "value": "GeoMatch" + }, + { + "key": "IPMatch", + "value": "IPMatch" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestBodyOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestBodyOperator.json new file mode 100644 index 00000000000..4576037480f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestBodyOperator.json @@ -0,0 +1,46 @@ +{ + "name": "RequestBodyOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestHeaderOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestHeaderOperator.json new file mode 100644 index 00000000000..7eff6e3c81e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestHeaderOperator.json @@ -0,0 +1,46 @@ +{ + "name": "RequestHeaderOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodMatchValue.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodMatchValue.json new file mode 100644 index 00000000000..6e6cb536409 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodMatchValue.json @@ -0,0 +1,34 @@ +{ + "name": "RequestMethodMatchValue", + "type": "String", + "values": [ + { + "key": "DELETE", + "value": "DELETE" + }, + { + "key": "GET", + "value": "GET" + }, + { + "key": "HEAD", + "value": "HEAD" + }, + { + "key": "OPTIONS", + "value": "OPTIONS" + }, + { + "key": "POST", + "value": "POST" + }, + { + "key": "PUT", + "value": "PUT" + }, + { + "key": "TRACE", + "value": "TRACE" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodOperator.json new file mode 100644 index 00000000000..d4a3709613a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestMethodOperator.json @@ -0,0 +1,10 @@ +{ + "name": "RequestMethodOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestSchemeMatchValue.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestSchemeMatchValue.json new file mode 100644 index 00000000000..2b3cdb0e7d2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestSchemeMatchValue.json @@ -0,0 +1,14 @@ +{ + "name": "RequestSchemeMatchValue", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "HTTP" + }, + { + "key": "HTTPS", + "value": "HTTPS" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestUriOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestUriOperator.json new file mode 100644 index 00000000000..6d8b39fc976 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RequestUriOperator.json @@ -0,0 +1,46 @@ +{ + "name": "RequestUriOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResourceUsageUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResourceUsageUnit.json new file mode 100644 index 00000000000..7b94b6c6a2a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResourceUsageUnit.json @@ -0,0 +1,10 @@ +{ + "name": "ResourceUsageUnit", + "type": "String", + "values": [ + { + "key": "Count", + "value": "count" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResponseBasedDetectedErrorTypes.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResponseBasedDetectedErrorTypes.json new file mode 100644 index 00000000000..dafd7df883d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ResponseBasedDetectedErrorTypes.json @@ -0,0 +1,18 @@ +{ + "name": "ResponseBasedDetectedErrorTypes", + "type": "String", + "values": [ + { + "key": "None", + "value": "None" + }, + { + "key": "TcpAndHTTPErrors", + "value": "TcpAndHttpErrors" + }, + { + "key": "TcpErrorsOnly", + "value": "TcpErrorsOnly" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleCacheBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleCacheBehavior.json new file mode 100644 index 00000000000..95bd82807c3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleCacheBehavior.json @@ -0,0 +1,18 @@ +{ + "name": "RuleCacheBehavior", + "type": "String", + "values": [ + { + "key": "HonorOrigin", + "value": "HonorOrigin" + }, + { + "key": "OverrideAlways", + "value": "OverrideAlways" + }, + { + "key": "OverrideIfOriginMissing", + "value": "OverrideIfOriginMissing" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleIsCompressionEnabled.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleIsCompressionEnabled.json new file mode 100644 index 00000000000..4ac19dd66bf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleIsCompressionEnabled.json @@ -0,0 +1,14 @@ +{ + "name": "RuleIsCompressionEnabled", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleQueryStringCachingBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleQueryStringCachingBehavior.json new file mode 100644 index 00000000000..f0148154d0b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-RuleQueryStringCachingBehavior.json @@ -0,0 +1,22 @@ +{ + "name": "RuleQueryStringCachingBehavior", + "type": "String", + "values": [ + { + "key": "IgnoreQueryString", + "value": "IgnoreQueryString" + }, + { + "key": "IgnoreSpecifiedQueryStrings", + "value": "IgnoreSpecifiedQueryStrings" + }, + { + "key": "IncludeSpecifiedQueryStrings", + "value": "IncludeSpecifiedQueryStrings" + }, + { + "key": "UseQueryString", + "value": "UseQueryString" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ServerPortOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ServerPortOperator.json new file mode 100644 index 00000000000..ffcbe9ce818 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-ServerPortOperator.json @@ -0,0 +1,46 @@ +{ + "name": "ServerPortOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SocketAddrOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SocketAddrOperator.json new file mode 100644 index 00000000000..e84b33dadaf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SocketAddrOperator.json @@ -0,0 +1,14 @@ +{ + "name": "SocketAddrOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "IPMatch", + "value": "IPMatch" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocol.json new file mode 100644 index 00000000000..8adb73d7ecf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "SslProtocol", + "type": "String", + "values": [ + { + "key": "TLSvOne", + "value": "TLSv1" + }, + { + "key": "TLSvOnePointOne", + "value": "TLSv1.1" + }, + { + "key": "TLSvOnePointTwo", + "value": "TLSv1.2" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocolOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocolOperator.json new file mode 100644 index 00000000000..d85520acbcd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-SslProtocolOperator.json @@ -0,0 +1,10 @@ +{ + "name": "SslProtocolOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Transform.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Transform.json new file mode 100644 index 00000000000..66e50d767f8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-Transform.json @@ -0,0 +1,30 @@ +{ + "name": "Transform", + "type": "String", + "values": [ + { + "key": "Lowercase", + "value": "Lowercase" + }, + { + "key": "RemoveNulls", + "value": "RemoveNulls" + }, + { + "key": "Trim", + "value": "Trim" + }, + { + "key": "Uppercase", + "value": "Uppercase" + }, + { + "key": "UrlDecode", + "value": "UrlDecode" + }, + { + "key": "UrlEncode", + "value": "UrlEncode" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileExtensionOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileExtensionOperator.json new file mode 100644 index 00000000000..48042730a2e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileExtensionOperator.json @@ -0,0 +1,46 @@ +{ + "name": "UrlFileExtensionOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileNameOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileNameOperator.json new file mode 100644 index 00000000000..4aa4cb32db9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlFileNameOperator.json @@ -0,0 +1,46 @@ +{ + "name": "UrlFileNameOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlPathOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlPathOperator.json new file mode 100644 index 00000000000..6bbc0e957a8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Constant-UrlPathOperator.json @@ -0,0 +1,50 @@ +{ + "name": "UrlPathOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + }, + { + "key": "Wildcard", + "value": "Wildcard" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheConfiguration.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheConfiguration.json new file mode 100644 index 00000000000..2499751d23f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheConfiguration.json @@ -0,0 +1,70 @@ +{ + "name": "CacheConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheBehavior", + "name": "CacheBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleCacheBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheDuration", + "name": "CacheDuration", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCompressionEnabled", + "name": "IsCompressionEnabled", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleIsCompressionEnabled" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParameters", + "name": "QueryParameters", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryStringCachingBehavior", + "name": "QueryStringCachingBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleQueryStringCachingBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheExpirationActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheExpirationActionParameters.json new file mode 100644 index 00000000000..cae462bc4a1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheExpirationActionParameters.json @@ -0,0 +1,47 @@ +{ + "name": "CacheExpirationActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheBehavior", + "name": "CacheBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheBehavior" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheDuration", + "name": "CacheDuration", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheType", + "name": "CacheType", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleCacheExpirationActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheKeyQueryStringActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheKeyQueryStringActionParameters.json new file mode 100644 index 00000000000..4ca198eb44c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CacheKeyQueryStringActionParameters.json @@ -0,0 +1,34 @@ +{ + "name": "CacheKeyQueryStringActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParameters", + "name": "QueryParameters", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryStringBehavior", + "name": "QueryStringBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringBehavior" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ClientPortMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ClientPortMatchConditionParameters.json new file mode 100644 index 00000000000..25b6d7a11c0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ClientPortMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "ClientPortMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClientPortOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleClientPortConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CookiesMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CookiesMatchConditionParameters.json new file mode 100644 index 00000000000..1d90a1d5aff --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-CookiesMatchConditionParameters.json @@ -0,0 +1,81 @@ +{ + "name": "CookiesMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "CookiesOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleCookiesConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomain.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomain.json new file mode 100644 index 00000000000..a7648849857 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomain.json @@ -0,0 +1,31 @@ +{ + "name": "DeepCreatedCustomDomain", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeepCreatedCustomDomainProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomainProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomainProperties.json new file mode 100644 index 00000000000..9bb631c6c52 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedCustomDomainProperties.json @@ -0,0 +1,31 @@ +{ + "name": "DeepCreatedCustomDomainProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "validationData", + "name": "ValidationData", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOrigin.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOrigin.json new file mode 100644 index 00000000000..ec864de16e2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOrigin.json @@ -0,0 +1,31 @@ +{ + "name": "DeepCreatedOrigin", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeepCreatedOriginProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroup.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroup.json new file mode 100644 index 00000000000..bec436111db --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroup.json @@ -0,0 +1,31 @@ +{ + "name": "DeepCreatedOriginGroup", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeepCreatedOriginGroupProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroupProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroupProperties.json new file mode 100644 index 00000000000..329f07bc2b1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginGroupProperties.json @@ -0,0 +1,61 @@ +{ + "name": "DeepCreatedOriginGroupProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "healthProbeSettings", + "name": "HealthProbeSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "origins", + "name": "Origins", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceReference" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseBasedOriginErrorDetectionSettings", + "name": "ResponseBasedOriginErrorDetectionSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResponseBasedOriginErrorDetectionParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "trafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "name": "TrafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginProperties.json new file mode 100644 index 00000000000..6cfef39f82e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeepCreatedOriginProperties.json @@ -0,0 +1,161 @@ +{ + "name": "DeepCreatedOriginProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpPort", + "name": "HTTPPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpsPort", + "name": "HTTPSPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originHostHeader", + "name": "OriginHostHeader", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpointStatus", + "name": "PrivateEndpointStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkAlias", + "name": "PrivateLinkAlias", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkApprovalMessage", + "name": "PrivateLinkApprovalMessage", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkLocation", + "name": "PrivateLinkLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkResourceId", + "name": "PrivateLinkResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "weight", + "name": "Weight", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRule.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRule.json new file mode 100644 index 00000000000..e7b757907c0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRule.json @@ -0,0 +1,65 @@ +{ + "name": "DeliveryRule", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actions", + "name": "Actions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeliveryRuleAction" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "conditions", + "name": "Conditions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeliveryRuleCondition" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "order", + "name": "Order", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleAction.json new file mode 100644 index 00000000000..67607916c96 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleAction.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleAction", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeliveryRuleActionName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleActionParameters.json new file mode 100644 index 00000000000..246f6bfd0ed --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleActionParameters.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeliveryRuleActionParametersType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheExpirationAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheExpirationAction.json new file mode 100644 index 00000000000..d29bbb7e8c9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheExpirationAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleCacheExpirationAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheExpirationActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "CacheExpiration", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheKeyQueryStringAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheKeyQueryStringAction.json new file mode 100644 index 00000000000..5f11b844f4b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCacheKeyQueryStringAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleCacheKeyQueryStringAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheKeyQueryStringActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "CacheKeyQueryString", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleClientPortCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleClientPortCondition.json new file mode 100644 index 00000000000..63e59967296 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleClientPortCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleClientPortCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClientPortMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "ClientPort", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCondition.json new file mode 100644 index 00000000000..96e2b9d1fbb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCondition.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "MatchVariable" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleConditionParameters.json new file mode 100644 index 00000000000..3c349063e91 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleConditionParameters.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeliveryRuleConditionParametersType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCookiesCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCookiesCondition.json new file mode 100644 index 00000000000..089d5399fe2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleCookiesCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleCookiesCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CookiesMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "Cookies", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHTTPVersionCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHTTPVersionCondition.json new file mode 100644 index 00000000000..86526cbbbf4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHTTPVersionCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleHTTPVersionCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPVersionMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "HttpVersion", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHostNameCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHostNameCondition.json new file mode 100644 index 00000000000..a5ec26d8ee6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleHostNameCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleHostNameCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HostNameMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "HostName", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleIsDeviceCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleIsDeviceCondition.json new file mode 100644 index 00000000000..90a0de6b713 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleIsDeviceCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleIsDeviceCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "IsDeviceMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "IsDevice", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRulePostArgsCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRulePostArgsCondition.json new file mode 100644 index 00000000000..be5ed3dd376 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRulePostArgsCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRulePostArgsCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "PostArgsMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "PostArgs", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleQueryStringCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleQueryStringCondition.json new file mode 100644 index 00000000000..d3f840e4f79 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleQueryStringCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleQueryStringCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "QueryString", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRemoteAddressCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRemoteAddressCondition.json new file mode 100644 index 00000000000..90bebcb32a7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRemoteAddressCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRemoteAddressCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RemoteAddressMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RemoteAddress", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestBodyCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestBodyCondition.json new file mode 100644 index 00000000000..351bf0eee72 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestBodyCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestBodyCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestBodyMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestBody", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderAction.json new file mode 100644 index 00000000000..38dde393e9f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestHeaderAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HeaderActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "ModifyRequestHeader", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderCondition.json new file mode 100644 index 00000000000..93b70bd0eee --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestHeaderCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestHeaderCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestHeaderMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestHeader", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestMethodCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestMethodCondition.json new file mode 100644 index 00000000000..b279448b6e6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestMethodCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestMethodCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestMethodMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestMethod", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestSchemeCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestSchemeCondition.json new file mode 100644 index 00000000000..ec2498a050e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestSchemeCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestSchemeCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestSchemeMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestScheme", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestUriCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestUriCondition.json new file mode 100644 index 00000000000..f597304ef0a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRequestUriCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestUriCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestUriMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestUri", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleResponseHeaderAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleResponseHeaderAction.json new file mode 100644 index 00000000000..05c504bbf18 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleResponseHeaderAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleResponseHeaderAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HeaderActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "ModifyResponseHeader", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRouteConfigurationOverrideAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRouteConfigurationOverrideAction.json new file mode 100644 index 00000000000..9f2ccf7364e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleRouteConfigurationOverrideAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRouteConfigurationOverrideAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RouteConfigurationOverrideActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "RouteConfigurationOverride", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleServerPortCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleServerPortCondition.json new file mode 100644 index 00000000000..0e5257ae0c5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleServerPortCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleServerPortCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "ServerPortMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "ServerPort", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSocketAddrCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSocketAddrCondition.json new file mode 100644 index 00000000000..204840b0ce6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSocketAddrCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleSocketAddrCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "SocketAddrMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "SocketAddr", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSslProtocolCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSslProtocolCondition.json new file mode 100644 index 00000000000..7a89c84f027 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleSslProtocolCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleSslProtocolCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "SslProtocolMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "SslProtocol", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileExtensionCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileExtensionCondition.json new file mode 100644 index 00000000000..610947b74b8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileExtensionCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleUrlFileExtensionCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileExtensionMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "UrlFileExtension", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileNameCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileNameCondition.json new file mode 100644 index 00000000000..3723bde1a05 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlFileNameCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleUrlFileNameCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileNameMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "UrlFileName", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlPathCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlPathCondition.json new file mode 100644 index 00000000000..d016de43f2f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-DeliveryRuleUrlPathCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleUrlPathCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlPathMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "UrlPath", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-Endpoint.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-Endpoint.json new file mode 100644 index 00000000000..54dab20042d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-Endpoint.json @@ -0,0 +1,96 @@ +{ + "name": "Endpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointProperties.json new file mode 100644 index 00000000000..b3aea2b17e3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointProperties.json @@ -0,0 +1,289 @@ +{ + "name": "EndpointProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentTypesToCompress", + "name": "ContentTypesToCompress", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customDomains", + "name": "CustomDomains", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeepCreatedCustomDomain" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultOriginGroup", + "name": "DefaultOriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deliveryPolicy", + "name": "DeliveryPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "geoFilters", + "name": "GeoFilters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GeoFilter" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCompressionEnabled", + "name": "IsCompressionEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isHttpAllowed", + "name": "IsHTTPAllowed", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isHttpsAllowed", + "name": "IsHTTPSAllowed", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "optimizationType", + "name": "OptimizationType", + "objectDefinition": { + "type": "Reference", + "referenceName": "OptimizationType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroups", + "name": "OriginGroups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeepCreatedOriginGroup" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originHostHeader", + "name": "OriginHostHeader", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originPath", + "name": "OriginPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "origins", + "name": "Origins", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeepCreatedOrigin" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probePath", + "name": "ProbePath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryStringCachingBehavior", + "name": "QueryStringCachingBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringCachingBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlSigningKeys", + "name": "UrlSigningKeys", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UrlSigningKey" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "webApplicationFirewallPolicyLink", + "name": "WebApplicationFirewallPolicyLink", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParameters.json new file mode 100644 index 00000000000..903d5f880c7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParameters.json @@ -0,0 +1,199 @@ +{ + "name": "EndpointPropertiesUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentTypesToCompress", + "name": "ContentTypesToCompress", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultOriginGroup", + "name": "DefaultOriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deliveryPolicy", + "name": "DeliveryPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "geoFilters", + "name": "GeoFilters", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "GeoFilter" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCompressionEnabled", + "name": "IsCompressionEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isHttpAllowed", + "name": "IsHTTPAllowed", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isHttpsAllowed", + "name": "IsHTTPSAllowed", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "optimizationType", + "name": "OptimizationType", + "objectDefinition": { + "type": "Reference", + "referenceName": "OptimizationType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originHostHeader", + "name": "OriginHostHeader", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originPath", + "name": "OriginPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probePath", + "name": "ProbePath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryStringCachingBehavior", + "name": "QueryStringCachingBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringCachingBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "urlSigningKeys", + "name": "UrlSigningKeys", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UrlSigningKey" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "webApplicationFirewallPolicyLink", + "name": "WebApplicationFirewallPolicyLink", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersDeliveryPolicy.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersDeliveryPolicy.json new file mode 100644 index 00000000000..c5880e1e521 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersDeliveryPolicy.json @@ -0,0 +1,35 @@ +{ + "name": "EndpointPropertiesUpdateParametersDeliveryPolicy", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rules", + "name": "Rules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeliveryRule" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink.json new file mode 100644 index 00000000000..7726cbe9706 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink.json @@ -0,0 +1,18 @@ +{ + "name": "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointUpdateParameters.json new file mode 100644 index 00000000000..2b76b0c814d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-EndpointUpdateParameters.json @@ -0,0 +1,31 @@ +{ + "name": "EndpointUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "EndpointPropertiesUpdateParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-GeoFilter.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-GeoFilter.json new file mode 100644 index 00000000000..a71c1936172 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-GeoFilter.json @@ -0,0 +1,48 @@ +{ + "name": "GeoFilter", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "action", + "name": "Action", + "objectDefinition": { + "type": "Reference", + "referenceName": "GeoFilterActions" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "countryCodes", + "name": "CountryCodes", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "relativePath", + "name": "RelativePath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPErrorRangeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPErrorRangeParameters.json new file mode 100644 index 00000000000..2460f3ad0a2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPErrorRangeParameters.json @@ -0,0 +1,31 @@ +{ + "name": "HTTPErrorRangeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "begin", + "name": "Begin", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "end", + "name": "End", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPVersionMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPVersionMatchConditionParameters.json new file mode 100644 index 00000000000..3acece42f41 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HTTPVersionMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "HTTPVersionMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPVersionOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleHttpVersionConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HeaderActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HeaderActionParameters.json new file mode 100644 index 00000000000..cb3819e245f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HeaderActionParameters.json @@ -0,0 +1,47 @@ +{ + "name": "HeaderActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headerAction", + "name": "HeaderAction", + "objectDefinition": { + "type": "Reference", + "referenceName": "HeaderAction" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headerName", + "name": "HeaderName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleHeaderActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HealthProbeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HealthProbeParameters.json new file mode 100644 index 00000000000..2bdd3cffaf6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HealthProbeParameters.json @@ -0,0 +1,57 @@ +{ + "name": "HealthProbeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeIntervalInSeconds", + "name": "ProbeIntervalInSeconds", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probePath", + "name": "ProbePath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeProtocol", + "name": "ProbeProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProbeProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeRequestType", + "name": "ProbeRequestType", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeRequestType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HostNameMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HostNameMatchConditionParameters.json new file mode 100644 index 00000000000..f9417037568 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-HostNameMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "HostNameMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "HostNameOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleHostNameConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-IsDeviceMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-IsDeviceMatchConditionParameters.json new file mode 100644 index 00000000000..c8f68dbc9d7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-IsDeviceMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "IsDeviceMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "IsDeviceMatchValue" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "IsDeviceOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleIsDeviceConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-KeyVaultSigningKeyParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-KeyVaultSigningKeyParameters.json new file mode 100644 index 00000000000..d88ab28e017 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-KeyVaultSigningKeyParameters.json @@ -0,0 +1,83 @@ +{ + "name": "KeyVaultSigningKeyParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceGroupName", + "name": "ResourceGroupName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretName", + "name": "SecretName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretVersion", + "name": "SecretVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subscriptionId", + "name": "SubscriptionId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultSigningKeyParametersType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "vaultName", + "name": "VaultName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-LoadParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-LoadParameters.json new file mode 100644 index 00000000000..f69f2085744 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-LoadParameters.json @@ -0,0 +1,22 @@ +{ + "name": "LoadParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentPaths", + "name": "ContentPaths", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverride.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverride.json new file mode 100644 index 00000000000..4a5e823649f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverride.json @@ -0,0 +1,31 @@ +{ + "name": "OriginGroupOverride", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "forwardingProtocol", + "name": "ForwardingProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ForwardingProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroup", + "name": "OriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideAction.json new file mode 100644 index 00000000000..eefb0519c47 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideAction.json @@ -0,0 +1,21 @@ +{ + "name": "OriginGroupOverrideAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupOverrideActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "OriginGroupOverride", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideActionParameters.json new file mode 100644 index 00000000000..4dd2b2b1e3e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-OriginGroupOverrideActionParameters.json @@ -0,0 +1,21 @@ +{ + "name": "OriginGroupOverrideActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroup", + "name": "OriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleOriginGroupOverrideActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PostArgsMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PostArgsMatchConditionParameters.json new file mode 100644 index 00000000000..2f1ccee10b5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PostArgsMatchConditionParameters.json @@ -0,0 +1,81 @@ +{ + "name": "PostArgsMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "PostArgsOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRulePostArgsConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PurgeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PurgeParameters.json new file mode 100644 index 00000000000..fb8ed187ab7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-PurgeParameters.json @@ -0,0 +1,22 @@ +{ + "name": "PurgeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentPaths", + "name": "ContentPaths", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-QueryStringMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-QueryStringMatchConditionParameters.json new file mode 100644 index 00000000000..d2952d5f24f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-QueryStringMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "QueryStringMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleQueryStringConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RemoteAddressMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RemoteAddressMatchConditionParameters.json new file mode 100644 index 00000000000..bfd458db172 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RemoteAddressMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RemoteAddressMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RemoteAddressOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRemoteAddressConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestBodyMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestBodyMatchConditionParameters.json new file mode 100644 index 00000000000..d2ed552f6e7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestBodyMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestBodyMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestBodyOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestBodyConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestHeaderMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestHeaderMatchConditionParameters.json new file mode 100644 index 00000000000..71150f47599 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestHeaderMatchConditionParameters.json @@ -0,0 +1,81 @@ +{ + "name": "RequestHeaderMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestHeaderOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestHeaderConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestMethodMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestMethodMatchConditionParameters.json new file mode 100644 index 00000000000..c491ceb71ec --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestMethodMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestMethodMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RequestMethodMatchValue" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestMethodOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestMethodConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestSchemeMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestSchemeMatchConditionParameters.json new file mode 100644 index 00000000000..50cb17f5b40 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestSchemeMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestSchemeMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RequestSchemeMatchValue" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "Operator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestSchemeConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestUriMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestUriMatchConditionParameters.json new file mode 100644 index 00000000000..c6a2d995c3f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RequestUriMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestUriMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestUriOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestUriConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceUsage.json new file mode 100644 index 00000000000..aded231eb20 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResourceUsage.json @@ -0,0 +1,57 @@ +{ + "name": "ResourceUsage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "currentValue", + "name": "CurrentValue", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "limit", + "name": "Limit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceUsageUnit" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResponseBasedOriginErrorDetectionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResponseBasedOriginErrorDetectionParameters.json new file mode 100644 index 00000000000..0aeb27df2da --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ResponseBasedOriginErrorDetectionParameters.json @@ -0,0 +1,48 @@ +{ + "name": "ResponseBasedOriginErrorDetectionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpErrorRanges", + "name": "HTTPErrorRanges", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "HTTPErrorRangeParameters" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseBasedDetectedErrorTypes", + "name": "ResponseBasedDetectedErrorTypes", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResponseBasedDetectedErrorTypes" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseBasedFailoverThresholdPercentage", + "name": "ResponseBasedFailoverThresholdPercentage", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RouteConfigurationOverrideActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RouteConfigurationOverrideActionParameters.json new file mode 100644 index 00000000000..7612839d5aa --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-RouteConfigurationOverrideActionParameters.json @@ -0,0 +1,34 @@ +{ + "name": "RouteConfigurationOverrideActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheConfiguration", + "name": "CacheConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroupOverride", + "name": "OriginGroupOverride", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupOverride" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleRouteConfigurationOverrideActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ServerPortMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ServerPortMatchConditionParameters.json new file mode 100644 index 00000000000..0f7392a6b97 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ServerPortMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "ServerPortMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ServerPortOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleServerPortConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SocketAddrMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SocketAddrMatchConditionParameters.json new file mode 100644 index 00000000000..5367102c6ea --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SocketAddrMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "SocketAddrMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "SocketAddrOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleSocketAddrConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SslProtocolMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SslProtocolMatchConditionParameters.json new file mode 100644 index 00000000000..b40cdb0b779 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-SslProtocolMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "SslProtocolMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "SslProtocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "SslProtocolOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleSslProtocolConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileExtensionMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileExtensionMatchConditionParameters.json new file mode 100644 index 00000000000..d481eb081bd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileExtensionMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "UrlFileExtensionMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileExtensionOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlFileExtensionMatchConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileNameMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileNameMatchConditionParameters.json new file mode 100644 index 00000000000..9f0a0eb2d36 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlFileNameMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "UrlFileNameMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileNameOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlFilenameConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlPathMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlPathMatchConditionParameters.json new file mode 100644 index 00000000000..a3093d3b93c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlPathMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "UrlPathMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlPathOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlPathMatchConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectAction.json new file mode 100644 index 00000000000..93c908b5c9a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectAction.json @@ -0,0 +1,21 @@ +{ + "name": "UrlRedirectAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlRedirectActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "UrlRedirect", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectActionParameters.json new file mode 100644 index 00000000000..f5f05ccf294 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRedirectActionParameters.json @@ -0,0 +1,86 @@ +{ + "name": "UrlRedirectActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customFragment", + "name": "CustomFragment", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customHostname", + "name": "CustomHostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customPath", + "name": "CustomPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customQueryString", + "name": "CustomQueryString", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "destinationProtocol", + "name": "DestinationProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "DestinationProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "redirectType", + "name": "RedirectType", + "objectDefinition": { + "type": "Reference", + "referenceName": "RedirectType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlRedirectActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteAction.json new file mode 100644 index 00000000000..16111bb8bc0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteAction.json @@ -0,0 +1,21 @@ +{ + "name": "UrlRewriteAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlRewriteActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "UrlRewrite", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteActionParameters.json new file mode 100644 index 00000000000..33cb72e2c87 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlRewriteActionParameters.json @@ -0,0 +1,47 @@ +{ + "name": "UrlRewriteActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "destination", + "name": "Destination", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "preserveUnmatchedPath", + "name": "PreserveUnmatchedPath", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourcePattern", + "name": "SourcePattern", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlRewriteActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningAction.json new file mode 100644 index 00000000000..5f82d5267f6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningAction.json @@ -0,0 +1,21 @@ +{ + "name": "UrlSigningAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlSigningActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "UrlSigning", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningActionParameters.json new file mode 100644 index 00000000000..18a85096079 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningActionParameters.json @@ -0,0 +1,38 @@ +{ + "name": "UrlSigningActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "algorithm", + "name": "Algorithm", + "objectDefinition": { + "type": "Reference", + "referenceName": "Algorithm" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameterNameOverride", + "name": "ParameterNameOverride", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UrlSigningParamIdentifier" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlSigningActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningKey.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningKey.json new file mode 100644 index 00000000000..18c049dda78 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningKey.json @@ -0,0 +1,31 @@ +{ + "name": "UrlSigningKey", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyId", + "name": "KeyId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keySourceParameters", + "name": "KeySourceParameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "KeyVaultSigningKeyParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningParamIdentifier.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningParamIdentifier.json new file mode 100644 index 00000000000..e814efae9bc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-UrlSigningParamIdentifier.json @@ -0,0 +1,31 @@ +{ + "name": "UrlSigningParamIdentifier", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "paramIndicator", + "name": "ParamIndicator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ParamIndicator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "paramName", + "name": "ParamName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainInput.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainInput.json new file mode 100644 index 00000000000..223f809d477 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainInput.json @@ -0,0 +1,18 @@ +{ + "name": "ValidateCustomDomainInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainOutput.json new file mode 100644 index 00000000000..5a48c349831 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Model-ValidateCustomDomainOutput.json @@ -0,0 +1,44 @@ +{ + "name": "ValidateCustomDomainOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customDomainValidated", + "name": "CustomDomainValidated", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "reason", + "name": "Reason", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Create.json new file mode 100644 index 00000000000..f92a79b21c7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "EndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "Endpoint" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Endpoint" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Delete.json new file mode 100644 index 00000000000..f36085509b8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "EndpointId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Get.json new file mode 100644 index 00000000000..301ab43a995 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "EndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "Endpoint" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListByProfile.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListByProfile.json new file mode 100644 index 00000000000..ce641918e1d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListByProfile.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProfile", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "Endpoint" + }, + "uriSuffix": "/endpoints" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListResourceUsage.json new file mode 100644 index 00000000000..a41e6db4584 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ListResourceUsage.json @@ -0,0 +1,16 @@ +{ + "name": "ListResourceUsage", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "EndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "ResourceUsage" + }, + "uriSuffix": "/checkResourceUsage" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-LoadContent.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-LoadContent.json new file mode 100644 index 00000000000..4c9e5d37c8e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-LoadContent.json @@ -0,0 +1,16 @@ +{ + "name": "LoadContent", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "EndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "LoadParameters" + }, + "uriSuffix": "/load" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-PurgeContent.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-PurgeContent.json new file mode 100644 index 00000000000..f9910061c84 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-PurgeContent.json @@ -0,0 +1,16 @@ +{ + "name": "PurgeContent", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "EndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "PurgeParameters" + }, + "uriSuffix": "/purge" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Start.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Start.json new file mode 100644 index 00000000000..7be2b3adb5b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Start.json @@ -0,0 +1,16 @@ +{ + "name": "Start", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "EndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "Endpoint" + }, + "uriSuffix": "/start" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Stop.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Stop.json new file mode 100644 index 00000000000..63383f7cd96 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Stop.json @@ -0,0 +1,16 @@ +{ + "name": "Stop", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "EndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "Endpoint" + }, + "uriSuffix": "/stop" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Update.json new file mode 100644 index 00000000000..496d61733df --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "EndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "EndpointUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Endpoint" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ValidateCustomDomain.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ValidateCustomDomain.json new file mode 100644 index 00000000000..966373977a0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/Operation-ValidateCustomDomain.json @@ -0,0 +1,19 @@ +{ + "name": "ValidateCustomDomain", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "EndpointId", + "requestObject": { + "type": "Reference", + "referenceName": "ValidateCustomDomainInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ValidateCustomDomainOutput" + }, + "uriSuffix": "/validateCustomDomain" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-EndpointId.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-EndpointId.json new file mode 100644 index 00000000000..41cce00a917 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-EndpointId.json @@ -0,0 +1,52 @@ +{ + "name": "EndpointId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/endpoints/{endpointName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticEndpoints", + "type": "Static", + "value": "endpoints" + }, + { + "name": "endpointName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Endpoints/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-LogMetricsGranularity.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-LogMetricsGranularity.json new file mode 100644 index 00000000000..52649b13b09 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-LogMetricsGranularity.json @@ -0,0 +1,18 @@ +{ + "name": "LogMetricsGranularity", + "type": "String", + "values": [ + { + "key": "POneD", + "value": "P1D" + }, + { + "key": "PTFiveM", + "value": "PT5M" + }, + { + "key": "PTOneH", + "value": "PT1H" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsGranularity.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsGranularity.json new file mode 100644 index 00000000000..a7ab8244cda --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsGranularity.json @@ -0,0 +1,18 @@ +{ + "name": "MetricsGranularity", + "type": "String", + "values": [ + { + "key": "POneD", + "value": "P1D" + }, + { + "key": "PTFiveM", + "value": "PT5M" + }, + { + "key": "PTOneH", + "value": "PT1H" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsSeriesUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsSeriesUnit.json new file mode 100644 index 00000000000..259446c9699 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Constant-MetricsSeriesUnit.json @@ -0,0 +1,22 @@ +{ + "name": "MetricsSeriesUnit", + "type": "String", + "values": [ + { + "key": "BitsPerSecond", + "value": "bitsPerSecond" + }, + { + "key": "Bytes", + "value": "bytes" + }, + { + "key": "Count", + "value": "count" + }, + { + "key": "MilliSeconds", + "value": "milliSeconds" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponse.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponse.json new file mode 100644 index 00000000000..b6641833d0b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponse.json @@ -0,0 +1,39 @@ +{ + "name": "ContinentsResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "continents", + "name": "Continents", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ContinentsResponseContinentsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "countryOrRegions", + "name": "CountryOrRegions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ContinentsResponseCountryOrRegionsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseContinentsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseContinentsInlined.json new file mode 100644 index 00000000000..2a6c0cc8032 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseContinentsInlined.json @@ -0,0 +1,18 @@ +{ + "name": "ContinentsResponseContinentsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseCountryOrRegionsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseCountryOrRegionsInlined.json new file mode 100644 index 00000000000..68eadb400b8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ContinentsResponseCountryOrRegionsInlined.json @@ -0,0 +1,31 @@ +{ + "name": "ContinentsResponseCountryOrRegionsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "continentId", + "name": "ContinentId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponse.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponse.json new file mode 100644 index 00000000000..2e0b184668b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponse.json @@ -0,0 +1,63 @@ +{ + "name": "MetricsResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeBegin", + "name": "DateTimeBegin", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeEnd", + "name": "DateTimeEnd", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "granularity", + "name": "Granularity", + "objectDefinition": { + "type": "Reference", + "referenceName": "MetricsGranularity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "series", + "name": "Series", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "MetricsResponseSeriesInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlined.json new file mode 100644 index 00000000000..bf78abf372c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlined.json @@ -0,0 +1,65 @@ +{ + "name": "MetricsResponseSeriesInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "MetricsResponseSeriesInlinedDataInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groups", + "name": "Groups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "MetricsResponseSeriesInlinedGroupsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metric", + "name": "Metric", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "MetricsSeriesUnit" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedDataInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedDataInlined.json new file mode 100644 index 00000000000..f86a76531b2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedDataInlined.json @@ -0,0 +1,32 @@ +{ + "name": "MetricsResponseSeriesInlinedDataInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTime", + "name": "DateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedGroupsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedGroupsInlined.json new file mode 100644 index 00000000000..c424c8f4a18 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-MetricsResponseSeriesInlinedGroupsInlined.json @@ -0,0 +1,31 @@ +{ + "name": "MetricsResponseSeriesInlinedGroupsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponse.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponse.json new file mode 100644 index 00000000000..30c0f586464 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponse.json @@ -0,0 +1,50 @@ +{ + "name": "RankingsResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeBegin", + "name": "DateTimeBegin", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeEnd", + "name": "DateTimeEnd", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tables", + "name": "Tables", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RankingsResponseTablesInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlined.json new file mode 100644 index 00000000000..6863f714fbe --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlined.json @@ -0,0 +1,35 @@ +{ + "name": "RankingsResponseTablesInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RankingsResponseTablesInlinedDataInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ranking", + "name": "Ranking", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlined.json new file mode 100644 index 00000000000..be7999a44c7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlined.json @@ -0,0 +1,35 @@ +{ + "name": "RankingsResponseTablesInlinedDataInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metrics", + "name": "Metrics", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RankingsResponseTablesInlinedDataInlinedMetricsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlinedMetricsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlinedMetricsInlined.json new file mode 100644 index 00000000000..466e6ccda04 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-RankingsResponseTablesInlinedDataInlinedMetricsInlined.json @@ -0,0 +1,44 @@ +{ + "name": "RankingsResponseTablesInlinedDataInlinedMetricsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metric", + "name": "Metric", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "percentage", + "name": "Percentage", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponse.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponse.json new file mode 100644 index 00000000000..e670b0902c0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponse.json @@ -0,0 +1,39 @@ +{ + "name": "ResourcesResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customDomains", + "name": "CustomDomains", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourcesResponseCustomDomainsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpoints", + "name": "Endpoints", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourcesResponseEndpointsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseCustomDomainsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseCustomDomainsInlined.json new file mode 100644 index 00000000000..7eabfde1326 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseCustomDomainsInlined.json @@ -0,0 +1,57 @@ +{ + "name": "ResourcesResponseCustomDomainsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpointId", + "name": "EndpointId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "history", + "name": "History", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlined.json new file mode 100644 index 00000000000..a7391f2d92d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlined.json @@ -0,0 +1,61 @@ +{ + "name": "ResourcesResponseEndpointsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customDomains", + "name": "CustomDomains", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourcesResponseEndpointsInlinedCustomDomainsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "history", + "name": "History", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlinedCustomDomainsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlinedCustomDomainsInlined.json new file mode 100644 index 00000000000..53cbc24033f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Model-ResourcesResponseEndpointsInlinedCustomDomainsInlined.json @@ -0,0 +1,57 @@ +{ + "name": "ResourcesResponseEndpointsInlinedCustomDomainsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpointId", + "name": "EndpointId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "history", + "name": "History", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsLocations.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsLocations.json new file mode 100644 index 00000000000..35814ac723c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsLocations.json @@ -0,0 +1,15 @@ +{ + "name": "GetLogAnalyticsLocations", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "ContinentsResponse" + }, + "uriSuffix": "/getLogAnalyticsLocations" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsMetrics.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsMetrics.json new file mode 100644 index 00000000000..767ec75923e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsMetrics.json @@ -0,0 +1,131 @@ +{ + "name": "GetLogAnalyticsMetrics", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "continents", + "required": false, + "field": "Continents", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": true, + "queryString": "countryOrRegions", + "required": false, + "field": "CountryOrRegions", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "customDomains", + "required": true, + "field": "CustomDomains", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "dateTimeBegin", + "required": true, + "field": "DateTimeBegin", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "dateTimeEnd", + "required": true, + "field": "DateTimeEnd", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "granularity", + "required": true, + "field": "Granularity", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "LogMetricsGranularity" + } + }, + { + "optional": true, + "queryString": "groupBy", + "required": false, + "field": "GroupBy", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "metrics", + "required": true, + "field": "Metrics", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "protocols", + "required": true, + "field": "Protocols", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + } + ], + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "MetricsResponse" + }, + "uriSuffix": "/getLogAnalyticsMetrics" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsRankings.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsRankings.json new file mode 100644 index 00000000000..e55e96bccd2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsRankings.json @@ -0,0 +1,89 @@ +{ + "name": "GetLogAnalyticsRankings", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "customDomains", + "required": false, + "field": "CustomDomains", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "dateTimeBegin", + "required": true, + "field": "DateTimeBegin", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "dateTimeEnd", + "required": true, + "field": "DateTimeEnd", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "maxRanking", + "required": true, + "field": "MaxRanking", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "metrics", + "required": true, + "field": "Metrics", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "rankings", + "required": true, + "field": "Rankings", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + } + ], + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "RankingsResponse" + }, + "uriSuffix": "/getLogAnalyticsRankings" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsResources.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsResources.json new file mode 100644 index 00000000000..f45c61fc9f5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/Operation-GetLogAnalyticsResources.json @@ -0,0 +1,15 @@ +{ + "name": "GetLogAnalyticsResources", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "ResourcesResponse" + }, + "uriSuffix": "/getLogAnalyticsResources" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/LogAnalytics/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-HealthProbeRequestType.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-HealthProbeRequestType.json new file mode 100644 index 00000000000..f1c37d7345c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-HealthProbeRequestType.json @@ -0,0 +1,18 @@ +{ + "name": "HealthProbeRequestType", + "type": "String", + "values": [ + { + "key": "GET", + "value": "GET" + }, + { + "key": "HEAD", + "value": "HEAD" + }, + { + "key": "NotSet", + "value": "NotSet" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupProvisioningState.json new file mode 100644 index 00000000000..813e8d8596b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "OriginGroupProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupResourceState.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupResourceState.json new file mode 100644 index 00000000000..c9defd6bb50 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-OriginGroupResourceState.json @@ -0,0 +1,18 @@ +{ + "name": "OriginGroupResourceState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "Active" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ProbeProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ProbeProtocol.json new file mode 100644 index 00000000000..08d7e0733b0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ProbeProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "ProbeProtocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "Http" + }, + { + "key": "HTTPS", + "value": "Https" + }, + { + "key": "NotSet", + "value": "NotSet" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ResponseBasedDetectedErrorTypes.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ResponseBasedDetectedErrorTypes.json new file mode 100644 index 00000000000..dafd7df883d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Constant-ResponseBasedDetectedErrorTypes.json @@ -0,0 +1,18 @@ +{ + "name": "ResponseBasedDetectedErrorTypes", + "type": "String", + "values": [ + { + "key": "None", + "value": "None" + }, + { + "key": "TcpAndHTTPErrors", + "value": "TcpAndHttpErrors" + }, + { + "key": "TcpErrorsOnly", + "value": "TcpErrorsOnly" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HTTPErrorRangeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HTTPErrorRangeParameters.json new file mode 100644 index 00000000000..2460f3ad0a2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HTTPErrorRangeParameters.json @@ -0,0 +1,31 @@ +{ + "name": "HTTPErrorRangeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "begin", + "name": "Begin", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "end", + "name": "End", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HealthProbeParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HealthProbeParameters.json new file mode 100644 index 00000000000..2bdd3cffaf6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-HealthProbeParameters.json @@ -0,0 +1,57 @@ +{ + "name": "HealthProbeParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeIntervalInSeconds", + "name": "ProbeIntervalInSeconds", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probePath", + "name": "ProbePath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeProtocol", + "name": "ProbeProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProbeProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeRequestType", + "name": "ProbeRequestType", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeRequestType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroup.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroup.json new file mode 100644 index 00000000000..cdc55d9faa2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroup.json @@ -0,0 +1,70 @@ +{ + "name": "OriginGroup", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupProperties.json new file mode 100644 index 00000000000..d782958451f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupProperties.json @@ -0,0 +1,87 @@ +{ + "name": "OriginGroupProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "healthProbeSettings", + "name": "HealthProbeSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "origins", + "name": "Origins", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceReference" + } + }, + "optional": true, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseBasedOriginErrorDetectionSettings", + "name": "ResponseBasedOriginErrorDetectionSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResponseBasedOriginErrorDetectionParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "trafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "name": "TrafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdateParameters.json new file mode 100644 index 00000000000..c8daf63deab --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "OriginGroupUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupUpdatePropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdatePropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdatePropertiesParameters.json new file mode 100644 index 00000000000..38c2afcfac9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-OriginGroupUpdatePropertiesParameters.json @@ -0,0 +1,61 @@ +{ + "name": "OriginGroupUpdatePropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "healthProbeSettings", + "name": "HealthProbeSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "HealthProbeParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "origins", + "name": "Origins", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceReference" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseBasedOriginErrorDetectionSettings", + "name": "ResponseBasedOriginErrorDetectionSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResponseBasedOriginErrorDetectionParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "trafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "name": "TrafficRestorationTimeToHealedOrNewEndpointsInMinutes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResponseBasedOriginErrorDetectionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResponseBasedOriginErrorDetectionParameters.json new file mode 100644 index 00000000000..0aeb27df2da --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Model-ResponseBasedOriginErrorDetectionParameters.json @@ -0,0 +1,48 @@ +{ + "name": "ResponseBasedOriginErrorDetectionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpErrorRanges", + "name": "HTTPErrorRanges", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "HTTPErrorRangeParameters" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseBasedDetectedErrorTypes", + "name": "ResponseBasedDetectedErrorTypes", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResponseBasedDetectedErrorTypes" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "responseBasedFailoverThresholdPercentage", + "name": "ResponseBasedFailoverThresholdPercentage", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Create.json new file mode 100644 index 00000000000..ceee94578c6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "EndpointOriginGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "OriginGroup" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OriginGroup" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Delete.json new file mode 100644 index 00000000000..413b9dd44c2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "EndpointOriginGroupId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Get.json new file mode 100644 index 00000000000..d61fa6a817f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "EndpointOriginGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "OriginGroup" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-ListByEndpoint.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-ListByEndpoint.json new file mode 100644 index 00000000000..9d37e652007 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-ListByEndpoint.json @@ -0,0 +1,16 @@ +{ + "name": "ListByEndpoint", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "EndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "OriginGroup" + }, + "uriSuffix": "/originGroups" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Update.json new file mode 100644 index 00000000000..3df5b2b83d0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "EndpointOriginGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "OriginGroupUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "OriginGroup" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointId.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointId.json new file mode 100644 index 00000000000..41cce00a917 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointId.json @@ -0,0 +1,52 @@ +{ + "name": "EndpointId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/endpoints/{endpointName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticEndpoints", + "type": "Static", + "value": "endpoints" + }, + { + "name": "endpointName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointOriginGroupId.json b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointOriginGroupId.json new file mode 100644 index 00000000000..8e24722baae --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/OriginGroups/ResourceId-EndpointOriginGroupId.json @@ -0,0 +1,61 @@ +{ + "name": "EndpointOriginGroupId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticEndpoints", + "type": "Static", + "value": "endpoints" + }, + { + "name": "endpointName", + "type": "UserSpecified" + }, + { + "name": "staticOriginGroups", + "type": "Static", + "value": "originGroups" + }, + { + "name": "originGroupName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginProvisioningState.json new file mode 100644 index 00000000000..eb9792ef95b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "OriginProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginResourceState.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginResourceState.json new file mode 100644 index 00000000000..193f3b64810 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-OriginResourceState.json @@ -0,0 +1,18 @@ +{ + "name": "OriginResourceState", + "type": "String", + "values": [ + { + "key": "Active", + "value": "Active" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-PrivateEndpointStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-PrivateEndpointStatus.json new file mode 100644 index 00000000000..e9768d00131 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Constant-PrivateEndpointStatus.json @@ -0,0 +1,26 @@ +{ + "name": "PrivateEndpointStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Disconnected", + "value": "Disconnected" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + }, + { + "key": "Timeout", + "value": "Timeout" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-Origin.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-Origin.json new file mode 100644 index 00000000000..de7cef1b4d1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-Origin.json @@ -0,0 +1,70 @@ +{ + "name": "Origin", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginProperties.json new file mode 100644 index 00000000000..1f7f6d3e3b5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginProperties.json @@ -0,0 +1,187 @@ +{ + "name": "OriginProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpPort", + "name": "HTTPPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpsPort", + "name": "HTTPSPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originHostHeader", + "name": "OriginHostHeader", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpointStatus", + "name": "PrivateEndpointStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkAlias", + "name": "PrivateLinkAlias", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkApprovalMessage", + "name": "PrivateLinkApprovalMessage", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkLocation", + "name": "PrivateLinkLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkResourceId", + "name": "PrivateLinkResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "weight", + "name": "Weight", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdateParameters.json new file mode 100644 index 00000000000..3f0c5889523 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "OriginUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginUpdatePropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdatePropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdatePropertiesParameters.json new file mode 100644 index 00000000000..ba3f5a264b9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Model-OriginUpdatePropertiesParameters.json @@ -0,0 +1,148 @@ +{ + "name": "OriginUpdatePropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabled", + "name": "Enabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpPort", + "name": "HTTPPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpsPort", + "name": "HTTPSPort", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originHostHeader", + "name": "OriginHostHeader", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkAlias", + "name": "PrivateLinkAlias", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkApprovalMessage", + "name": "PrivateLinkApprovalMessage", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkLocation", + "name": "PrivateLinkLocation", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkResourceId", + "name": "PrivateLinkResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "weight", + "name": "Weight", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Create.json new file mode 100644 index 00000000000..87826970fbe --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "OriginId", + "requestObject": { + "type": "Reference", + "referenceName": "Origin" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Origin" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Delete.json new file mode 100644 index 00000000000..2877b3423fe --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "OriginId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Get.json new file mode 100644 index 00000000000..7a74232b8fb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "OriginId", + "responseObject": { + "type": "Reference", + "referenceName": "Origin" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-ListByEndpoint.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-ListByEndpoint.json new file mode 100644 index 00000000000..503efd2ab03 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-ListByEndpoint.json @@ -0,0 +1,16 @@ +{ + "name": "ListByEndpoint", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "EndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "Origin" + }, + "uriSuffix": "/origins" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Update.json new file mode 100644 index 00000000000..9bfb4ca4012 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "OriginId", + "requestObject": { + "type": "Reference", + "referenceName": "OriginUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Origin" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-EndpointId.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-EndpointId.json new file mode 100644 index 00000000000..41cce00a917 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-EndpointId.json @@ -0,0 +1,52 @@ +{ + "name": "EndpointId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/endpoints/{endpointName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticEndpoints", + "type": "Static", + "value": "endpoints" + }, + { + "name": "endpointName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-OriginId.json b/api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-OriginId.json new file mode 100644 index 00000000000..2e53420152a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Origins/ResourceId-OriginId.json @@ -0,0 +1,61 @@ +{ + "name": "OriginId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticEndpoints", + "type": "Static", + "value": "endpoints" + }, + { + "name": "endpointName", + "type": "UserSpecified" + }, + { + "name": "staticOrigins", + "type": "Static", + "value": "origins" + }, + { + "name": "originName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-CanMigrateDefaultSku.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-CanMigrateDefaultSku.json new file mode 100644 index 00000000000..7efab006c66 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-CanMigrateDefaultSku.json @@ -0,0 +1,14 @@ +{ + "name": "CanMigrateDefaultSku", + "type": "String", + "values": [ + { + "key": "PremiumAzureFrontDoor", + "value": "Premium_AzureFrontDoor" + }, + { + "key": "StandardAzureFrontDoor", + "value": "Standard_AzureFrontDoor" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-OptimizationType.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-OptimizationType.json new file mode 100644 index 00000000000..c70ac307034 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-OptimizationType.json @@ -0,0 +1,26 @@ +{ + "name": "OptimizationType", + "type": "String", + "values": [ + { + "key": "DynamicSiteAcceleration", + "value": "DynamicSiteAcceleration" + }, + { + "key": "GeneralMediaStreaming", + "value": "GeneralMediaStreaming" + }, + { + "key": "GeneralWebDelivery", + "value": "GeneralWebDelivery" + }, + { + "key": "LargeFileDownload", + "value": "LargeFileDownload" + }, + { + "key": "VideoOnDemandMediaStreaming", + "value": "VideoOnDemandMediaStreaming" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileProvisioningState.json new file mode 100644 index 00000000000..adffddb3da8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "ProfileProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileResourceState.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileResourceState.json new file mode 100644 index 00000000000..2b4145ae23f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileResourceState.json @@ -0,0 +1,42 @@ +{ + "name": "ProfileResourceState", + "type": "String", + "values": [ + { + "key": "AbortingMigration", + "value": "AbortingMigration" + }, + { + "key": "Active", + "value": "Active" + }, + { + "key": "CommittingMigration", + "value": "CommittingMigration" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Migrated", + "value": "Migrated" + }, + { + "key": "Migrating", + "value": "Migrating" + }, + { + "key": "PendingMigrationCommit", + "value": "PendingMigrationCommit" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileScrubbingState.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileScrubbingState.json new file mode 100644 index 00000000000..8c778883392 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ProfileScrubbingState.json @@ -0,0 +1,14 @@ +{ + "name": "ProfileScrubbingState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ResourceUsageUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ResourceUsageUnit.json new file mode 100644 index 00000000000..7b94b6c6a2a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ResourceUsageUnit.json @@ -0,0 +1,10 @@ +{ + "name": "ResourceUsageUnit", + "type": "String", + "values": [ + { + "key": "Count", + "value": "count" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchOperator.json new file mode 100644 index 00000000000..4cee36ab0db --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchOperator.json @@ -0,0 +1,10 @@ +{ + "name": "ScrubbingRuleEntryMatchOperator", + "type": "String", + "values": [ + { + "key": "EqualsAny", + "value": "EqualsAny" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchVariable.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchVariable.json new file mode 100644 index 00000000000..47eb893fe42 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryMatchVariable.json @@ -0,0 +1,18 @@ +{ + "name": "ScrubbingRuleEntryMatchVariable", + "type": "String", + "values": [ + { + "key": "QueryStringArgNames", + "value": "QueryStringArgNames" + }, + { + "key": "RequestIPAddress", + "value": "RequestIPAddress" + }, + { + "key": "RequestUri", + "value": "RequestUri" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryState.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryState.json new file mode 100644 index 00000000000..b09810594c6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-ScrubbingRuleEntryState.json @@ -0,0 +1,14 @@ +{ + "name": "ScrubbingRuleEntryState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-SkuName.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-SkuName.json new file mode 100644 index 00000000000..0cb3d80d3f1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Constant-SkuName.json @@ -0,0 +1,58 @@ +{ + "name": "SkuName", + "type": "String", + "values": [ + { + "key": "CustomVerizon", + "value": "Custom_Verizon" + }, + { + "key": "PremiumAzureFrontDoor", + "value": "Premium_AzureFrontDoor" + }, + { + "key": "PremiumVerizon", + "value": "Premium_Verizon" + }, + { + "key": "StandardAkamai", + "value": "Standard_Akamai" + }, + { + "key": "StandardAvgBandWidthChinaCdn", + "value": "Standard_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardAzureFrontDoor", + "value": "Standard_AzureFrontDoor" + }, + { + "key": "StandardChinaCdn", + "value": "Standard_ChinaCdn" + }, + { + "key": "StandardMicrosoft", + "value": "Standard_Microsoft" + }, + { + "key": "StandardNineFiveFiveBandWidthChinaCdn", + "value": "Standard_955BandWidth_ChinaCdn" + }, + { + "key": "StandardPlusAvgBandWidthChinaCdn", + "value": "StandardPlus_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardPlusChinaCdn", + "value": "StandardPlus_ChinaCdn" + }, + { + "key": "StandardPlusNineFiveFiveBandWidthChinaCdn", + "value": "StandardPlus_955BandWidth_ChinaCdn" + }, + { + "key": "StandardVerizon", + "value": "Standard_Verizon" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateParameters.json new file mode 100644 index 00000000000..6da0ad939ed --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "CanMigrateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "classicResourceReference", + "name": "ClassicResourceReference", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateProperties.json new file mode 100644 index 00000000000..c699cd8a785 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateProperties.json @@ -0,0 +1,48 @@ +{ + "name": "CanMigrateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "canMigrate", + "name": "CanMigrate", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultSku", + "name": "DefaultSku", + "objectDefinition": { + "type": "Reference", + "referenceName": "CanMigrateDefaultSku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "errors", + "name": "Errors", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "MigrationErrorType" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateResult.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateResult.json new file mode 100644 index 00000000000..67492151306 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-CanMigrateResult.json @@ -0,0 +1,44 @@ +{ + "name": "CanMigrateResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CanMigrateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResult.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResult.json new file mode 100644 index 00000000000..64bd2ebab9a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResult.json @@ -0,0 +1,44 @@ +{ + "name": "MigrateResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "MigrateResultProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResultProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResultProperties.json new file mode 100644 index 00000000000..738608fe078 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrateResultProperties.json @@ -0,0 +1,18 @@ +{ + "name": "MigrateResultProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "migratedProfileResourceId", + "name": "MigratedProfileResourceId", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationErrorType.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationErrorType.json new file mode 100644 index 00000000000..dbfa33e621a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationErrorType.json @@ -0,0 +1,57 @@ +{ + "name": "MigrationErrorType", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "code", + "name": "Code", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "errorMessage", + "name": "ErrorMessage", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "nextSteps", + "name": "NextSteps", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceName", + "name": "ResourceName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationParameters.json new file mode 100644 index 00000000000..dc282b25f55 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationParameters.json @@ -0,0 +1,61 @@ +{ + "name": "MigrationParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "classicResourceReference", + "name": "ClassicResourceReference", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "migrationWebApplicationFirewallMappings", + "name": "MigrationWebApplicationFirewallMappings", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "MigrationWebApplicationFirewallMapping" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "Sku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationWebApplicationFirewallMapping.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationWebApplicationFirewallMapping.json new file mode 100644 index 00000000000..e742f4af911 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-MigrationWebApplicationFirewallMapping.json @@ -0,0 +1,31 @@ +{ + "name": "MigrationWebApplicationFirewallMapping", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "migratedFrom", + "name": "MigratedFrom", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "migratedTo", + "name": "MigratedTo", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Profile.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Profile.json new file mode 100644 index 00000000000..e2ff9dd9637 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Profile.json @@ -0,0 +1,135 @@ +{ + "name": "Profile", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "kind", + "name": "Kind", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "Sku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileLogScrubbing.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileLogScrubbing.json new file mode 100644 index 00000000000..a4b0af9ef24 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileLogScrubbing.json @@ -0,0 +1,35 @@ +{ + "name": "ProfileLogScrubbing", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "scrubbingRules", + "name": "ScrubbingRules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ProfileScrubbingRules" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileScrubbingState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileProperties.json new file mode 100644 index 00000000000..3d64d12116d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileProperties.json @@ -0,0 +1,87 @@ +{ + "name": "ProfileProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "extendedProperties", + "name": "ExtendedProperties", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "frontDoorId", + "name": "FrontDoorId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logScrubbing", + "name": "LogScrubbing", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileLogScrubbing" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originResponseTimeoutSeconds", + "name": "OriginResponseTimeoutSeconds", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfilePropertiesUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfilePropertiesUpdateParameters.json new file mode 100644 index 00000000000..47242625d12 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfilePropertiesUpdateParameters.json @@ -0,0 +1,31 @@ +{ + "name": "ProfilePropertiesUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "logScrubbing", + "name": "LogScrubbing", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfileLogScrubbing" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originResponseTimeoutSeconds", + "name": "OriginResponseTimeoutSeconds", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileScrubbingRules.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileScrubbingRules.json new file mode 100644 index 00000000000..443d21db7b2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileScrubbingRules.json @@ -0,0 +1,57 @@ +{ + "name": "ProfileScrubbingRules", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchVariable", + "name": "MatchVariable", + "objectDefinition": { + "type": "Reference", + "referenceName": "ScrubbingRuleEntryMatchVariable" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selectorMatchOperator", + "name": "SelectorMatchOperator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ScrubbingRuleEntryMatchOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "ScrubbingRuleEntryState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileUpdateParameters.json new file mode 100644 index 00000000000..9f8bdf75ded --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ProfileUpdateParameters.json @@ -0,0 +1,44 @@ +{ + "name": "ProfileUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProfilePropertiesUpdateParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceUsage.json new file mode 100644 index 00000000000..aded231eb20 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-ResourceUsage.json @@ -0,0 +1,57 @@ +{ + "name": "ResourceUsage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "currentValue", + "name": "CurrentValue", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "limit", + "name": "Limit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceType", + "name": "ResourceType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceUsageUnit" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Sku.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Sku.json new file mode 100644 index 00000000000..57bc451be90 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-Sku.json @@ -0,0 +1,18 @@ +{ + "name": "Sku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "SkuName" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SsoUri.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SsoUri.json new file mode 100644 index 00000000000..23a7cf1124d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SsoUri.json @@ -0,0 +1,18 @@ +{ + "name": "SsoUri", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ssoUriValue", + "name": "SsoUriValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SupportedOptimizationTypesListResult.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SupportedOptimizationTypesListResult.json new file mode 100644 index 00000000000..e0108d8a828 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Model-SupportedOptimizationTypesListResult.json @@ -0,0 +1,22 @@ +{ + "name": "SupportedOptimizationTypesListResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "supportedOptimizationTypes", + "name": "SupportedOptimizationTypes", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "OptimizationType" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-CanMigrate.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-CanMigrate.json new file mode 100644 index 00000000000..6be0c808c94 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-CanMigrate.json @@ -0,0 +1,20 @@ +{ + "name": "CanMigrate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ResourceGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "CanMigrateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CanMigrateResult" + }, + "uriSuffix": "/providers/Microsoft.CDN/canMigrate" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Create.json new file mode 100644 index 00000000000..e5a33229cab --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "ProfileId", + "requestObject": { + "type": "Reference", + "referenceName": "Profile" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Profile" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Delete.json new file mode 100644 index 00000000000..273534ff2ca --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "ProfileId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-GenerateSsoUri.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-GenerateSsoUri.json new file mode 100644 index 00000000000..5ca90caf5fe --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-GenerateSsoUri.json @@ -0,0 +1,15 @@ +{ + "name": "GenerateSsoUri", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "SsoUri" + }, + "uriSuffix": "/generateSsoUri" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Get.json new file mode 100644 index 00000000000..ed39a10b383 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "Profile" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-List.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-List.json new file mode 100644 index 00000000000..7f1be30980a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-List.json @@ -0,0 +1,16 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "Profile" + }, + "uriSuffix": "/providers/Microsoft.CDN/profiles" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListByResourceGroup.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListByResourceGroup.json new file mode 100644 index 00000000000..329029ee2eb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "Profile" + }, + "uriSuffix": "/providers/Microsoft.CDN/profiles" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListResourceUsage.json new file mode 100644 index 00000000000..58ef9698486 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListResourceUsage.json @@ -0,0 +1,16 @@ +{ + "name": "ListResourceUsage", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "ResourceUsage" + }, + "uriSuffix": "/checkResourceUsage" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListSupportedOptimizationTypes.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListSupportedOptimizationTypes.json new file mode 100644 index 00000000000..d4dcdc30f2c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-ListSupportedOptimizationTypes.json @@ -0,0 +1,15 @@ +{ + "name": "ListSupportedOptimizationTypes", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "SupportedOptimizationTypesListResult" + }, + "uriSuffix": "/getSupportedOptimizationTypes" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Migrate.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Migrate.json new file mode 100644 index 00000000000..e2232f62e27 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Migrate.json @@ -0,0 +1,20 @@ +{ + "name": "Migrate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ResourceGroupId", + "requestObject": { + "type": "Reference", + "referenceName": "MigrationParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "MigrateResult" + }, + "uriSuffix": "/providers/Microsoft.CDN/migrate" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-MigrationCommit.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-MigrationCommit.json new file mode 100644 index 00000000000..5bbe2802893 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-MigrationCommit.json @@ -0,0 +1,12 @@ +{ + "name": "MigrationCommit", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "ProfileId", + "uriSuffix": "/migrationCommit" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Update.json new file mode 100644 index 00000000000..240d9c7dfbb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "ProfileId", + "requestObject": { + "type": "Reference", + "referenceName": "ProfileUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Profile" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Profiles/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AFDEndpointProtocols.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AFDEndpointProtocols.json new file mode 100644 index 00000000000..84aafda9aaa --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AFDEndpointProtocols.json @@ -0,0 +1,14 @@ +{ + "name": "AFDEndpointProtocols", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "Http" + }, + { + "key": "HTTPS", + "value": "Https" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdQueryStringCachingBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdQueryStringCachingBehavior.json new file mode 100644 index 00000000000..00920ef2bac --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-AfdQueryStringCachingBehavior.json @@ -0,0 +1,22 @@ +{ + "name": "AfdQueryStringCachingBehavior", + "type": "String", + "values": [ + { + "key": "IgnoreQueryString", + "value": "IgnoreQueryString" + }, + { + "key": "IgnoreSpecifiedQueryStrings", + "value": "IgnoreSpecifiedQueryStrings" + }, + { + "key": "IncludeSpecifiedQueryStrings", + "value": "IncludeSpecifiedQueryStrings" + }, + { + "key": "UseQueryString", + "value": "UseQueryString" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-EnabledState.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-EnabledState.json new file mode 100644 index 00000000000..dc518f54c34 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-EnabledState.json @@ -0,0 +1,14 @@ +{ + "name": "EnabledState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-ForwardingProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-ForwardingProtocol.json new file mode 100644 index 00000000000..a65b30e0242 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-ForwardingProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "ForwardingProtocol", + "type": "String", + "values": [ + { + "key": "HTTPOnly", + "value": "HttpOnly" + }, + { + "key": "HTTPSOnly", + "value": "HttpsOnly" + }, + { + "key": "MatchRequest", + "value": "MatchRequest" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-HTTPSRedirect.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-HTTPSRedirect.json new file mode 100644 index 00000000000..2f911442104 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-HTTPSRedirect.json @@ -0,0 +1,14 @@ +{ + "name": "HTTPSRedirect", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-LinkToDefaultDomain.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-LinkToDefaultDomain.json new file mode 100644 index 00000000000..8ab2508b087 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Constant-LinkToDefaultDomain.json @@ -0,0 +1,14 @@ +{ + "name": "LinkToDefaultDomain", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ActivatedResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ActivatedResourceReference.json new file mode 100644 index 00000000000..754cf99e847 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ActivatedResourceReference.json @@ -0,0 +1,31 @@ +{ + "name": "ActivatedResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isActive", + "name": "IsActive", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-AfdRouteCacheConfiguration.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-AfdRouteCacheConfiguration.json new file mode 100644 index 00000000000..d4b518e63e9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-AfdRouteCacheConfiguration.json @@ -0,0 +1,44 @@ +{ + "name": "AfdRouteCacheConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "compressionSettings", + "name": "CompressionSettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "CompressionSettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParameters", + "name": "QueryParameters", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryStringCachingBehavior", + "name": "QueryStringCachingBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdQueryStringCachingBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-CompressionSettings.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-CompressionSettings.json new file mode 100644 index 00000000000..f59ed5e2883 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-CompressionSettings.json @@ -0,0 +1,35 @@ +{ + "name": "CompressionSettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "contentTypesToCompress", + "name": "ContentTypesToCompress", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCompressionEnabled", + "name": "IsCompressionEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-Route.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-Route.json new file mode 100644 index 00000000000..9ece652ecfc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-Route.json @@ -0,0 +1,70 @@ +{ + "name": "Route", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "RouteProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteProperties.json new file mode 100644 index 00000000000..47fdc936044 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteProperties.json @@ -0,0 +1,203 @@ +{ + "name": "RouteProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheConfiguration", + "name": "CacheConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdRouteCacheConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customDomains", + "name": "CustomDomains", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ActivatedResourceReference" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpointName", + "name": "EndpointName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "forwardingProtocol", + "name": "ForwardingProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ForwardingProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpsRedirect", + "name": "HTTPSRedirect", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPSRedirect" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "linkToDefaultDomain", + "name": "LinkToDefaultDomain", + "objectDefinition": { + "type": "Reference", + "referenceName": "LinkToDefaultDomain" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroup", + "name": "OriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originPath", + "name": "OriginPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "patternsToMatch", + "name": "PatternsToMatch", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSets", + "name": "RuleSets", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceReference" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "supportedProtocols", + "name": "SupportedProtocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "AFDEndpointProtocols" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdateParameters.json new file mode 100644 index 00000000000..06406122222 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "RouteUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "RouteUpdatePropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdatePropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdatePropertiesParameters.json new file mode 100644 index 00000000000..31ee1d131a5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Model-RouteUpdatePropertiesParameters.json @@ -0,0 +1,177 @@ +{ + "name": "RouteUpdatePropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheConfiguration", + "name": "CacheConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdRouteCacheConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customDomains", + "name": "CustomDomains", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ActivatedResourceReference" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "EnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpointName", + "name": "EndpointName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "forwardingProtocol", + "name": "ForwardingProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ForwardingProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "httpsRedirect", + "name": "HTTPSRedirect", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPSRedirect" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "linkToDefaultDomain", + "name": "LinkToDefaultDomain", + "objectDefinition": { + "type": "Reference", + "referenceName": "LinkToDefaultDomain" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroup", + "name": "OriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originPath", + "name": "OriginPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "patternsToMatch", + "name": "PatternsToMatch", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSets", + "name": "RuleSets", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ResourceReference" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "supportedProtocols", + "name": "SupportedProtocols", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "AFDEndpointProtocols" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Create.json new file mode 100644 index 00000000000..72799d63664 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "RouteId", + "requestObject": { + "type": "Reference", + "referenceName": "Route" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Route" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Delete.json new file mode 100644 index 00000000000..59305f749ae --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "RouteId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Get.json new file mode 100644 index 00000000000..69b66cd0f2b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RouteId", + "responseObject": { + "type": "Reference", + "referenceName": "Route" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-ListByEndpoint.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-ListByEndpoint.json new file mode 100644 index 00000000000..df230649e9f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-ListByEndpoint.json @@ -0,0 +1,16 @@ +{ + "name": "ListByEndpoint", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "AfdEndpointId", + "responseObject": { + "type": "Reference", + "referenceName": "Route" + }, + "uriSuffix": "/routes" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Update.json new file mode 100644 index 00000000000..605be967ed0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "RouteId", + "requestObject": { + "type": "Reference", + "referenceName": "RouteUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Route" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-AfdEndpointId.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-AfdEndpointId.json new file mode 100644 index 00000000000..421289dc5bc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-AfdEndpointId.json @@ -0,0 +1,52 @@ +{ + "name": "AfdEndpointId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/afdEndpoints/{afdEndpointName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticAfdEndpoints", + "type": "Static", + "value": "afdEndpoints" + }, + { + "name": "afdEndpointName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-RouteId.json b/api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-RouteId.json new file mode 100644 index 00000000000..58f10bf56d4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Routes/ResourceId-RouteId.json @@ -0,0 +1,61 @@ +{ + "name": "RouteId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/afdEndpoints/{afdEndpointName}/routes/{routeName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticAfdEndpoints", + "type": "Static", + "value": "afdEndpoints" + }, + { + "name": "afdEndpointName", + "type": "UserSpecified" + }, + { + "name": "staticRoutes", + "type": "Static", + "value": "routes" + }, + { + "name": "routeName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-UsageUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-UsageUnit.json new file mode 100644 index 00000000000..87519ac0619 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Constant-UsageUnit.json @@ -0,0 +1,10 @@ +{ + "name": "UsageUnit", + "type": "String", + "values": [ + { + "key": "Count", + "value": "Count" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSet.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSet.json new file mode 100644 index 00000000000..9003918d42d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSet.json @@ -0,0 +1,70 @@ +{ + "name": "RuleSet", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleSetProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSetProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSetProperties.json new file mode 100644 index 00000000000..7116f449b19 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-RuleSetProperties.json @@ -0,0 +1,44 @@ +{ + "name": "RuleSetProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-Usage.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-Usage.json new file mode 100644 index 00000000000..f3f19f36a4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-Usage.json @@ -0,0 +1,70 @@ +{ + "name": "Usage", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "currentValue", + "name": "CurrentValue", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "limit", + "name": "Limit", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "UsageUnit" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-UsageName.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-UsageName.json new file mode 100644 index 00000000000..11c032b6f4f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Model-UsageName.json @@ -0,0 +1,31 @@ +{ + "name": "UsageName", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "localizedValue", + "name": "LocalizedValue", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Create.json new file mode 100644 index 00000000000..d2769dc0100 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Create.json @@ -0,0 +1,15 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": false, + "httpMethod": "PUT", + "resourceIdName": "RuleSetId", + "responseObject": { + "type": "Reference", + "referenceName": "RuleSet" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Delete.json new file mode 100644 index 00000000000..415c2fc8381 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "RuleSetId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Get.json new file mode 100644 index 00000000000..b7dfd2b07e2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RuleSetId", + "responseObject": { + "type": "Reference", + "referenceName": "RuleSet" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListByProfile.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListByProfile.json new file mode 100644 index 00000000000..8ae18a086e8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListByProfile.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProfile", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "RuleSet" + }, + "uriSuffix": "/ruleSets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListResourceUsage.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListResourceUsage.json new file mode 100644 index 00000000000..8e217f37733 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/Operation-ListResourceUsage.json @@ -0,0 +1,16 @@ +{ + "name": "ListResourceUsage", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "RuleSetId", + "responseObject": { + "type": "Reference", + "referenceName": "Usage" + }, + "uriSuffix": "/usages" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-RuleSetId.json b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-RuleSetId.json new file mode 100644 index 00000000000..4dc66d55fae --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/RuleSets/ResourceId-RuleSetId.json @@ -0,0 +1,52 @@ +{ + "name": "RuleSetId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/ruleSets/{ruleSetName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticRuleSets", + "type": "Static", + "value": "ruleSets" + }, + { + "name": "ruleSetName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Algorithm.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Algorithm.json new file mode 100644 index 00000000000..cf95bccb606 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Algorithm.json @@ -0,0 +1,10 @@ +{ + "name": "Algorithm", + "type": "String", + "values": [ + { + "key": "SHATwoFiveSix", + "value": "SHA256" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheBehavior.json new file mode 100644 index 00000000000..ebf47ca8c75 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheBehavior.json @@ -0,0 +1,18 @@ +{ + "name": "CacheBehavior", + "type": "String", + "values": [ + { + "key": "BypassCache", + "value": "BypassCache" + }, + { + "key": "Override", + "value": "Override" + }, + { + "key": "SetIfMissing", + "value": "SetIfMissing" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheType.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheType.json new file mode 100644 index 00000000000..3bb10631931 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CacheType.json @@ -0,0 +1,10 @@ +{ + "name": "CacheType", + "type": "String", + "values": [ + { + "key": "All", + "value": "All" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ClientPortOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ClientPortOperator.json new file mode 100644 index 00000000000..1f17ed00ea0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ClientPortOperator.json @@ -0,0 +1,46 @@ +{ + "name": "ClientPortOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CookiesOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CookiesOperator.json new file mode 100644 index 00000000000..766edb57ee4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-CookiesOperator.json @@ -0,0 +1,46 @@ +{ + "name": "CookiesOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionName.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionName.json new file mode 100644 index 00000000000..058a4a19e84 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionName.json @@ -0,0 +1,42 @@ +{ + "name": "DeliveryRuleActionName", + "type": "String", + "values": [ + { + "key": "CacheExpiration", + "value": "CacheExpiration" + }, + { + "key": "CacheKeyQueryString", + "value": "CacheKeyQueryString" + }, + { + "key": "ModifyRequestHeader", + "value": "ModifyRequestHeader" + }, + { + "key": "ModifyResponseHeader", + "value": "ModifyResponseHeader" + }, + { + "key": "OriginGroupOverride", + "value": "OriginGroupOverride" + }, + { + "key": "RouteConfigurationOverride", + "value": "RouteConfigurationOverride" + }, + { + "key": "UrlRedirect", + "value": "UrlRedirect" + }, + { + "key": "UrlRewrite", + "value": "UrlRewrite" + }, + { + "key": "UrlSigning", + "value": "UrlSigning" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionParametersType.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionParametersType.json new file mode 100644 index 00000000000..7ec3698d153 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleActionParametersType.json @@ -0,0 +1,38 @@ +{ + "name": "DeliveryRuleActionParametersType", + "type": "String", + "values": [ + { + "key": "DeliveryRuleCacheExpirationActionParameters", + "value": "DeliveryRuleCacheExpirationActionParameters" + }, + { + "key": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters", + "value": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + }, + { + "key": "DeliveryRuleHeaderActionParameters", + "value": "DeliveryRuleHeaderActionParameters" + }, + { + "key": "DeliveryRuleOriginGroupOverrideActionParameters", + "value": "DeliveryRuleOriginGroupOverrideActionParameters" + }, + { + "key": "DeliveryRuleRouteConfigurationOverrideActionParameters", + "value": "DeliveryRuleRouteConfigurationOverrideActionParameters" + }, + { + "key": "DeliveryRuleUrlRedirectActionParameters", + "value": "DeliveryRuleUrlRedirectActionParameters" + }, + { + "key": "DeliveryRuleUrlRewriteActionParameters", + "value": "DeliveryRuleUrlRewriteActionParameters" + }, + { + "key": "DeliveryRuleUrlSigningActionParameters", + "value": "DeliveryRuleUrlSigningActionParameters" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleConditionParametersType.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleConditionParametersType.json new file mode 100644 index 00000000000..056f5cbe50b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeliveryRuleConditionParametersType.json @@ -0,0 +1,82 @@ +{ + "name": "DeliveryRuleConditionParametersType", + "type": "String", + "values": [ + { + "key": "DeliveryRuleClientPortConditionParameters", + "value": "DeliveryRuleClientPortConditionParameters" + }, + { + "key": "DeliveryRuleCookiesConditionParameters", + "value": "DeliveryRuleCookiesConditionParameters" + }, + { + "key": "DeliveryRuleHTTPVersionConditionParameters", + "value": "DeliveryRuleHttpVersionConditionParameters" + }, + { + "key": "DeliveryRuleHostNameConditionParameters", + "value": "DeliveryRuleHostNameConditionParameters" + }, + { + "key": "DeliveryRuleIsDeviceConditionParameters", + "value": "DeliveryRuleIsDeviceConditionParameters" + }, + { + "key": "DeliveryRulePostArgsConditionParameters", + "value": "DeliveryRulePostArgsConditionParameters" + }, + { + "key": "DeliveryRuleQueryStringConditionParameters", + "value": "DeliveryRuleQueryStringConditionParameters" + }, + { + "key": "DeliveryRuleRemoteAddressConditionParameters", + "value": "DeliveryRuleRemoteAddressConditionParameters" + }, + { + "key": "DeliveryRuleRequestBodyConditionParameters", + "value": "DeliveryRuleRequestBodyConditionParameters" + }, + { + "key": "DeliveryRuleRequestHeaderConditionParameters", + "value": "DeliveryRuleRequestHeaderConditionParameters" + }, + { + "key": "DeliveryRuleRequestMethodConditionParameters", + "value": "DeliveryRuleRequestMethodConditionParameters" + }, + { + "key": "DeliveryRuleRequestSchemeConditionParameters", + "value": "DeliveryRuleRequestSchemeConditionParameters" + }, + { + "key": "DeliveryRuleRequestUriConditionParameters", + "value": "DeliveryRuleRequestUriConditionParameters" + }, + { + "key": "DeliveryRuleServerPortConditionParameters", + "value": "DeliveryRuleServerPortConditionParameters" + }, + { + "key": "DeliveryRuleSocketAddrConditionParameters", + "value": "DeliveryRuleSocketAddrConditionParameters" + }, + { + "key": "DeliveryRuleSslProtocolConditionParameters", + "value": "DeliveryRuleSslProtocolConditionParameters" + }, + { + "key": "DeliveryRuleUrlFileExtensionMatchConditionParameters", + "value": "DeliveryRuleUrlFileExtensionMatchConditionParameters" + }, + { + "key": "DeliveryRuleUrlFilenameConditionParameters", + "value": "DeliveryRuleUrlFilenameConditionParameters" + }, + { + "key": "DeliveryRuleUrlPathMatchConditionParameters", + "value": "DeliveryRuleUrlPathMatchConditionParameters" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DestinationProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DestinationProtocol.json new file mode 100644 index 00000000000..95d105619c8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-DestinationProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "DestinationProtocol", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "Http" + }, + { + "key": "HTTPS", + "value": "Https" + }, + { + "key": "MatchRequest", + "value": "MatchRequest" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ForwardingProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ForwardingProtocol.json new file mode 100644 index 00000000000..a65b30e0242 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ForwardingProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "ForwardingProtocol", + "type": "String", + "values": [ + { + "key": "HTTPOnly", + "value": "HttpOnly" + }, + { + "key": "HTTPSOnly", + "value": "HttpsOnly" + }, + { + "key": "MatchRequest", + "value": "MatchRequest" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HTTPVersionOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HTTPVersionOperator.json new file mode 100644 index 00000000000..b8490e88112 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HTTPVersionOperator.json @@ -0,0 +1,10 @@ +{ + "name": "HTTPVersionOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HeaderAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HeaderAction.json new file mode 100644 index 00000000000..0008375c7cd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HeaderAction.json @@ -0,0 +1,18 @@ +{ + "name": "HeaderAction", + "type": "String", + "values": [ + { + "key": "Append", + "value": "Append" + }, + { + "key": "Delete", + "value": "Delete" + }, + { + "key": "Overwrite", + "value": "Overwrite" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HostNameOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HostNameOperator.json new file mode 100644 index 00000000000..3afe837ee2a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-HostNameOperator.json @@ -0,0 +1,46 @@ +{ + "name": "HostNameOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceMatchValue.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceMatchValue.json new file mode 100644 index 00000000000..4960058708f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceMatchValue.json @@ -0,0 +1,14 @@ +{ + "name": "IsDeviceMatchValue", + "type": "String", + "values": [ + { + "key": "Desktop", + "value": "Desktop" + }, + { + "key": "Mobile", + "value": "Mobile" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceOperator.json new file mode 100644 index 00000000000..cc5a40ac8d1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-IsDeviceOperator.json @@ -0,0 +1,10 @@ +{ + "name": "IsDeviceOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchProcessingBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchProcessingBehavior.json new file mode 100644 index 00000000000..61d953e44e0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchProcessingBehavior.json @@ -0,0 +1,14 @@ +{ + "name": "MatchProcessingBehavior", + "type": "String", + "values": [ + { + "key": "Continue", + "value": "Continue" + }, + { + "key": "Stop", + "value": "Stop" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchVariable.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchVariable.json new file mode 100644 index 00000000000..912b1b5de84 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-MatchVariable.json @@ -0,0 +1,82 @@ +{ + "name": "MatchVariable", + "type": "String", + "values": [ + { + "key": "ClientPort", + "value": "ClientPort" + }, + { + "key": "Cookies", + "value": "Cookies" + }, + { + "key": "HTTPVersion", + "value": "HttpVersion" + }, + { + "key": "HostName", + "value": "HostName" + }, + { + "key": "IsDevice", + "value": "IsDevice" + }, + { + "key": "PostArgs", + "value": "PostArgs" + }, + { + "key": "QueryString", + "value": "QueryString" + }, + { + "key": "RemoteAddress", + "value": "RemoteAddress" + }, + { + "key": "RequestBody", + "value": "RequestBody" + }, + { + "key": "RequestHeader", + "value": "RequestHeader" + }, + { + "key": "RequestMethod", + "value": "RequestMethod" + }, + { + "key": "RequestScheme", + "value": "RequestScheme" + }, + { + "key": "RequestUri", + "value": "RequestUri" + }, + { + "key": "ServerPort", + "value": "ServerPort" + }, + { + "key": "SocketAddr", + "value": "SocketAddr" + }, + { + "key": "SslProtocol", + "value": "SslProtocol" + }, + { + "key": "UrlFileExtension", + "value": "UrlFileExtension" + }, + { + "key": "UrlFileName", + "value": "UrlFileName" + }, + { + "key": "UrlPath", + "value": "UrlPath" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Operator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Operator.json new file mode 100644 index 00000000000..768ad11d775 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Operator.json @@ -0,0 +1,10 @@ +{ + "name": "Operator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ParamIndicator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ParamIndicator.json new file mode 100644 index 00000000000..d4a6db672d5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ParamIndicator.json @@ -0,0 +1,18 @@ +{ + "name": "ParamIndicator", + "type": "String", + "values": [ + { + "key": "Expires", + "value": "Expires" + }, + { + "key": "KeyId", + "value": "KeyId" + }, + { + "key": "Signature", + "value": "Signature" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-PostArgsOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-PostArgsOperator.json new file mode 100644 index 00000000000..15ad819a09b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-PostArgsOperator.json @@ -0,0 +1,46 @@ +{ + "name": "PostArgsOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringBehavior.json new file mode 100644 index 00000000000..725256ba18a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringBehavior.json @@ -0,0 +1,22 @@ +{ + "name": "QueryStringBehavior", + "type": "String", + "values": [ + { + "key": "Exclude", + "value": "Exclude" + }, + { + "key": "ExcludeAll", + "value": "ExcludeAll" + }, + { + "key": "Include", + "value": "Include" + }, + { + "key": "IncludeAll", + "value": "IncludeAll" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringOperator.json new file mode 100644 index 00000000000..bf2916a9ec1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-QueryStringOperator.json @@ -0,0 +1,46 @@ +{ + "name": "QueryStringOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RedirectType.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RedirectType.json new file mode 100644 index 00000000000..329972e6d1e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RedirectType.json @@ -0,0 +1,22 @@ +{ + "name": "RedirectType", + "type": "String", + "values": [ + { + "key": "Found", + "value": "Found" + }, + { + "key": "Moved", + "value": "Moved" + }, + { + "key": "PermanentRedirect", + "value": "PermanentRedirect" + }, + { + "key": "TemporaryRedirect", + "value": "TemporaryRedirect" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RemoteAddressOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RemoteAddressOperator.json new file mode 100644 index 00000000000..bbfe6d02548 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RemoteAddressOperator.json @@ -0,0 +1,18 @@ +{ + "name": "RemoteAddressOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "GeoMatch", + "value": "GeoMatch" + }, + { + "key": "IPMatch", + "value": "IPMatch" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestBodyOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestBodyOperator.json new file mode 100644 index 00000000000..4576037480f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestBodyOperator.json @@ -0,0 +1,46 @@ +{ + "name": "RequestBodyOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestHeaderOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestHeaderOperator.json new file mode 100644 index 00000000000..7eff6e3c81e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestHeaderOperator.json @@ -0,0 +1,46 @@ +{ + "name": "RequestHeaderOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodMatchValue.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodMatchValue.json new file mode 100644 index 00000000000..6e6cb536409 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodMatchValue.json @@ -0,0 +1,34 @@ +{ + "name": "RequestMethodMatchValue", + "type": "String", + "values": [ + { + "key": "DELETE", + "value": "DELETE" + }, + { + "key": "GET", + "value": "GET" + }, + { + "key": "HEAD", + "value": "HEAD" + }, + { + "key": "OPTIONS", + "value": "OPTIONS" + }, + { + "key": "POST", + "value": "POST" + }, + { + "key": "PUT", + "value": "PUT" + }, + { + "key": "TRACE", + "value": "TRACE" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodOperator.json new file mode 100644 index 00000000000..d4a3709613a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestMethodOperator.json @@ -0,0 +1,10 @@ +{ + "name": "RequestMethodOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestSchemeMatchValue.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestSchemeMatchValue.json new file mode 100644 index 00000000000..2b3cdb0e7d2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestSchemeMatchValue.json @@ -0,0 +1,14 @@ +{ + "name": "RequestSchemeMatchValue", + "type": "String", + "values": [ + { + "key": "HTTP", + "value": "HTTP" + }, + { + "key": "HTTPS", + "value": "HTTPS" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestUriOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestUriOperator.json new file mode 100644 index 00000000000..6d8b39fc976 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RequestUriOperator.json @@ -0,0 +1,46 @@ +{ + "name": "RequestUriOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleCacheBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleCacheBehavior.json new file mode 100644 index 00000000000..95bd82807c3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleCacheBehavior.json @@ -0,0 +1,18 @@ +{ + "name": "RuleCacheBehavior", + "type": "String", + "values": [ + { + "key": "HonorOrigin", + "value": "HonorOrigin" + }, + { + "key": "OverrideAlways", + "value": "OverrideAlways" + }, + { + "key": "OverrideIfOriginMissing", + "value": "OverrideIfOriginMissing" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleIsCompressionEnabled.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleIsCompressionEnabled.json new file mode 100644 index 00000000000..4ac19dd66bf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleIsCompressionEnabled.json @@ -0,0 +1,14 @@ +{ + "name": "RuleIsCompressionEnabled", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleQueryStringCachingBehavior.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleQueryStringCachingBehavior.json new file mode 100644 index 00000000000..f0148154d0b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-RuleQueryStringCachingBehavior.json @@ -0,0 +1,22 @@ +{ + "name": "RuleQueryStringCachingBehavior", + "type": "String", + "values": [ + { + "key": "IgnoreQueryString", + "value": "IgnoreQueryString" + }, + { + "key": "IgnoreSpecifiedQueryStrings", + "value": "IgnoreSpecifiedQueryStrings" + }, + { + "key": "IncludeSpecifiedQueryStrings", + "value": "IncludeSpecifiedQueryStrings" + }, + { + "key": "UseQueryString", + "value": "UseQueryString" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ServerPortOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ServerPortOperator.json new file mode 100644 index 00000000000..ffcbe9ce818 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-ServerPortOperator.json @@ -0,0 +1,46 @@ +{ + "name": "ServerPortOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SocketAddrOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SocketAddrOperator.json new file mode 100644 index 00000000000..e84b33dadaf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SocketAddrOperator.json @@ -0,0 +1,14 @@ +{ + "name": "SocketAddrOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "IPMatch", + "value": "IPMatch" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocol.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocol.json new file mode 100644 index 00000000000..8adb73d7ecf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocol.json @@ -0,0 +1,18 @@ +{ + "name": "SslProtocol", + "type": "String", + "values": [ + { + "key": "TLSvOne", + "value": "TLSv1" + }, + { + "key": "TLSvOnePointOne", + "value": "TLSv1.1" + }, + { + "key": "TLSvOnePointTwo", + "value": "TLSv1.2" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocolOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocolOperator.json new file mode 100644 index 00000000000..d85520acbcd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-SslProtocolOperator.json @@ -0,0 +1,10 @@ +{ + "name": "SslProtocolOperator", + "type": "String", + "values": [ + { + "key": "Equal", + "value": "Equal" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Transform.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Transform.json new file mode 100644 index 00000000000..66e50d767f8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-Transform.json @@ -0,0 +1,30 @@ +{ + "name": "Transform", + "type": "String", + "values": [ + { + "key": "Lowercase", + "value": "Lowercase" + }, + { + "key": "RemoveNulls", + "value": "RemoveNulls" + }, + { + "key": "Trim", + "value": "Trim" + }, + { + "key": "Uppercase", + "value": "Uppercase" + }, + { + "key": "UrlDecode", + "value": "UrlDecode" + }, + { + "key": "UrlEncode", + "value": "UrlEncode" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileExtensionOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileExtensionOperator.json new file mode 100644 index 00000000000..48042730a2e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileExtensionOperator.json @@ -0,0 +1,46 @@ +{ + "name": "UrlFileExtensionOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileNameOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileNameOperator.json new file mode 100644 index 00000000000..4aa4cb32db9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlFileNameOperator.json @@ -0,0 +1,46 @@ +{ + "name": "UrlFileNameOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlPathOperator.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlPathOperator.json new file mode 100644 index 00000000000..6bbc0e957a8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Constant-UrlPathOperator.json @@ -0,0 +1,50 @@ +{ + "name": "UrlPathOperator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + }, + { + "key": "Wildcard", + "value": "Wildcard" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheConfiguration.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheConfiguration.json new file mode 100644 index 00000000000..2499751d23f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheConfiguration.json @@ -0,0 +1,70 @@ +{ + "name": "CacheConfiguration", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheBehavior", + "name": "CacheBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleCacheBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheDuration", + "name": "CacheDuration", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isCompressionEnabled", + "name": "IsCompressionEnabled", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleIsCompressionEnabled" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParameters", + "name": "QueryParameters", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryStringCachingBehavior", + "name": "QueryStringCachingBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleQueryStringCachingBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheExpirationActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheExpirationActionParameters.json new file mode 100644 index 00000000000..cae462bc4a1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheExpirationActionParameters.json @@ -0,0 +1,47 @@ +{ + "name": "CacheExpirationActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheBehavior", + "name": "CacheBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheBehavior" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheDuration", + "name": "CacheDuration", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheType", + "name": "CacheType", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleCacheExpirationActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheKeyQueryStringActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheKeyQueryStringActionParameters.json new file mode 100644 index 00000000000..4ca198eb44c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CacheKeyQueryStringActionParameters.json @@ -0,0 +1,34 @@ +{ + "name": "CacheKeyQueryStringActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryParameters", + "name": "QueryParameters", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "queryStringBehavior", + "name": "QueryStringBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringBehavior" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ClientPortMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ClientPortMatchConditionParameters.json new file mode 100644 index 00000000000..25b6d7a11c0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ClientPortMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "ClientPortMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClientPortOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleClientPortConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CookiesMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CookiesMatchConditionParameters.json new file mode 100644 index 00000000000..1d90a1d5aff --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-CookiesMatchConditionParameters.json @@ -0,0 +1,81 @@ +{ + "name": "CookiesMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "CookiesOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleCookiesConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleAction.json new file mode 100644 index 00000000000..67607916c96 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleAction.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleAction", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeliveryRuleActionName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleActionParameters.json new file mode 100644 index 00000000000..246f6bfd0ed --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleActionParameters.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeliveryRuleActionParametersType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheExpirationAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheExpirationAction.json new file mode 100644 index 00000000000..d29bbb7e8c9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheExpirationAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleCacheExpirationAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheExpirationActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "CacheExpiration", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheKeyQueryStringAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheKeyQueryStringAction.json new file mode 100644 index 00000000000..5f11b844f4b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCacheKeyQueryStringAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleCacheKeyQueryStringAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheKeyQueryStringActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "CacheKeyQueryString", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleClientPortCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleClientPortCondition.json new file mode 100644 index 00000000000..63e59967296 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleClientPortCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleClientPortCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClientPortMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "ClientPort", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCondition.json new file mode 100644 index 00000000000..96e2b9d1fbb --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCondition.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "MatchVariable" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleConditionParameters.json new file mode 100644 index 00000000000..3c349063e91 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleConditionParameters.json @@ -0,0 +1,19 @@ +{ + "name": "DeliveryRuleConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "typeName", + "name": "TypeName", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeliveryRuleConditionParametersType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCookiesCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCookiesCondition.json new file mode 100644 index 00000000000..089d5399fe2 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleCookiesCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleCookiesCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "CookiesMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "Cookies", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHTTPVersionCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHTTPVersionCondition.json new file mode 100644 index 00000000000..86526cbbbf4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHTTPVersionCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleHTTPVersionCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPVersionMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "HttpVersion", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHostNameCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHostNameCondition.json new file mode 100644 index 00000000000..a5ec26d8ee6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleHostNameCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleHostNameCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HostNameMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "HostName", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleIsDeviceCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleIsDeviceCondition.json new file mode 100644 index 00000000000..90a0de6b713 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleIsDeviceCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleIsDeviceCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "IsDeviceMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "IsDevice", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRulePostArgsCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRulePostArgsCondition.json new file mode 100644 index 00000000000..be5ed3dd376 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRulePostArgsCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRulePostArgsCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "PostArgsMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "PostArgs", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleQueryStringCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleQueryStringCondition.json new file mode 100644 index 00000000000..d3f840e4f79 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleQueryStringCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleQueryStringCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "QueryString", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRemoteAddressCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRemoteAddressCondition.json new file mode 100644 index 00000000000..90bebcb32a7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRemoteAddressCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRemoteAddressCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RemoteAddressMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RemoteAddress", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestBodyCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestBodyCondition.json new file mode 100644 index 00000000000..351bf0eee72 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestBodyCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestBodyCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestBodyMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestBody", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderAction.json new file mode 100644 index 00000000000..38dde393e9f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestHeaderAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HeaderActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "ModifyRequestHeader", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderCondition.json new file mode 100644 index 00000000000..93b70bd0eee --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestHeaderCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestHeaderCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestHeaderMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestHeader", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestMethodCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestMethodCondition.json new file mode 100644 index 00000000000..b279448b6e6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestMethodCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestMethodCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestMethodMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestMethod", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestSchemeCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestSchemeCondition.json new file mode 100644 index 00000000000..ec2498a050e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestSchemeCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestSchemeCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestSchemeMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestScheme", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestUriCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestUriCondition.json new file mode 100644 index 00000000000..f597304ef0a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRequestUriCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRequestUriCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestUriMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "RequestUri", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleResponseHeaderAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleResponseHeaderAction.json new file mode 100644 index 00000000000..05c504bbf18 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleResponseHeaderAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleResponseHeaderAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "HeaderActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "ModifyResponseHeader", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRouteConfigurationOverrideAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRouteConfigurationOverrideAction.json new file mode 100644 index 00000000000..9f2ccf7364e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleRouteConfigurationOverrideAction.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleRouteConfigurationOverrideAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "RouteConfigurationOverrideActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "RouteConfigurationOverride", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleServerPortCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleServerPortCondition.json new file mode 100644 index 00000000000..0e5257ae0c5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleServerPortCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleServerPortCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "ServerPortMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "ServerPort", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSocketAddrCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSocketAddrCondition.json new file mode 100644 index 00000000000..204840b0ce6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSocketAddrCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleSocketAddrCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "SocketAddrMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "SocketAddr", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSslProtocolCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSslProtocolCondition.json new file mode 100644 index 00000000000..7a89c84f027 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleSslProtocolCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleSslProtocolCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "SslProtocolMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "SslProtocol", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileExtensionCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileExtensionCondition.json new file mode 100644 index 00000000000..610947b74b8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileExtensionCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleUrlFileExtensionCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileExtensionMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "UrlFileExtension", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileNameCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileNameCondition.json new file mode 100644 index 00000000000..3723bde1a05 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlFileNameCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleUrlFileNameCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileNameMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "UrlFileName", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlPathCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlPathCondition.json new file mode 100644 index 00000000000..d016de43f2f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-DeliveryRuleUrlPathCondition.json @@ -0,0 +1,21 @@ +{ + "name": "DeliveryRuleUrlPathCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlPathMatchConditionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleCondition", + "discriminatedTypeValue": "UrlPath", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HTTPVersionMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HTTPVersionMatchConditionParameters.json new file mode 100644 index 00000000000..3acece42f41 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HTTPVersionMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "HTTPVersionMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "HTTPVersionOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleHttpVersionConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HeaderActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HeaderActionParameters.json new file mode 100644 index 00000000000..cb3819e245f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HeaderActionParameters.json @@ -0,0 +1,47 @@ +{ + "name": "HeaderActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headerAction", + "name": "HeaderAction", + "objectDefinition": { + "type": "Reference", + "referenceName": "HeaderAction" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "headerName", + "name": "HeaderName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleHeaderActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HostNameMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HostNameMatchConditionParameters.json new file mode 100644 index 00000000000..f9417037568 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-HostNameMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "HostNameMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "HostNameOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleHostNameConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-IsDeviceMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-IsDeviceMatchConditionParameters.json new file mode 100644 index 00000000000..c8f68dbc9d7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-IsDeviceMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "IsDeviceMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "IsDeviceMatchValue" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "IsDeviceOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleIsDeviceConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverride.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverride.json new file mode 100644 index 00000000000..4a5e823649f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverride.json @@ -0,0 +1,31 @@ +{ + "name": "OriginGroupOverride", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "forwardingProtocol", + "name": "ForwardingProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "ForwardingProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroup", + "name": "OriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideAction.json new file mode 100644 index 00000000000..eefb0519c47 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideAction.json @@ -0,0 +1,21 @@ +{ + "name": "OriginGroupOverrideAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupOverrideActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "OriginGroupOverride", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideActionParameters.json new file mode 100644 index 00000000000..4dd2b2b1e3e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-OriginGroupOverrideActionParameters.json @@ -0,0 +1,21 @@ +{ + "name": "OriginGroupOverrideActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroup", + "name": "OriginGroup", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleOriginGroupOverrideActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-PostArgsMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-PostArgsMatchConditionParameters.json new file mode 100644 index 00000000000..2f1ccee10b5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-PostArgsMatchConditionParameters.json @@ -0,0 +1,81 @@ +{ + "name": "PostArgsMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "PostArgsOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRulePostArgsConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-QueryStringMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-QueryStringMatchConditionParameters.json new file mode 100644 index 00000000000..d2952d5f24f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-QueryStringMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "QueryStringMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "QueryStringOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleQueryStringConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RemoteAddressMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RemoteAddressMatchConditionParameters.json new file mode 100644 index 00000000000..bfd458db172 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RemoteAddressMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RemoteAddressMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RemoteAddressOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRemoteAddressConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestBodyMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestBodyMatchConditionParameters.json new file mode 100644 index 00000000000..d2ed552f6e7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestBodyMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestBodyMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestBodyOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestBodyConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestHeaderMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestHeaderMatchConditionParameters.json new file mode 100644 index 00000000000..71150f47599 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestHeaderMatchConditionParameters.json @@ -0,0 +1,81 @@ +{ + "name": "RequestHeaderMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestHeaderOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestHeaderConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestMethodMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestMethodMatchConditionParameters.json new file mode 100644 index 00000000000..c491ceb71ec --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestMethodMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestMethodMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RequestMethodMatchValue" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestMethodOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestMethodConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestSchemeMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestSchemeMatchConditionParameters.json new file mode 100644 index 00000000000..50cb17f5b40 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestSchemeMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestSchemeMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RequestSchemeMatchValue" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "Operator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestSchemeConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestUriMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestUriMatchConditionParameters.json new file mode 100644 index 00000000000..c6a2d995c3f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RequestUriMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "RequestUriMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "RequestUriOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleRequestUriConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RouteConfigurationOverrideActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RouteConfigurationOverrideActionParameters.json new file mode 100644 index 00000000000..7612839d5aa --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RouteConfigurationOverrideActionParameters.json @@ -0,0 +1,34 @@ +{ + "name": "RouteConfigurationOverrideActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "cacheConfiguration", + "name": "CacheConfiguration", + "objectDefinition": { + "type": "Reference", + "referenceName": "CacheConfiguration" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "originGroupOverride", + "name": "OriginGroupOverride", + "objectDefinition": { + "type": "Reference", + "referenceName": "OriginGroupOverride" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleRouteConfigurationOverrideActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-Rule.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-Rule.json new file mode 100644 index 00000000000..7e0a7133dab --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-Rule.json @@ -0,0 +1,70 @@ +{ + "name": "Rule", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleProperties.json new file mode 100644 index 00000000000..5f40b724061 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleProperties.json @@ -0,0 +1,104 @@ +{ + "name": "RuleProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actions", + "name": "Actions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeliveryRuleAction" + } + }, + "optional": true, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "conditions", + "name": "Conditions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeliveryRuleCondition" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchProcessingBehavior", + "name": "MatchProcessingBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "MatchProcessingBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "order", + "name": "Order", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSetName", + "name": "RuleSetName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdateParameters.json new file mode 100644 index 00000000000..31ee3449571 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "RuleUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "RuleUpdatePropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdatePropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdatePropertiesParameters.json new file mode 100644 index 00000000000..6068ea8d908 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-RuleUpdatePropertiesParameters.json @@ -0,0 +1,78 @@ +{ + "name": "RuleUpdatePropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actions", + "name": "Actions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeliveryRuleAction" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "conditions", + "name": "Conditions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "DeliveryRuleCondition" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchProcessingBehavior", + "name": "MatchProcessingBehavior", + "objectDefinition": { + "type": "Reference", + "referenceName": "MatchProcessingBehavior" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "order", + "name": "Order", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSetName", + "name": "RuleSetName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ServerPortMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ServerPortMatchConditionParameters.json new file mode 100644 index 00000000000..0f7392a6b97 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-ServerPortMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "ServerPortMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ServerPortOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleServerPortConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SocketAddrMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SocketAddrMatchConditionParameters.json new file mode 100644 index 00000000000..5367102c6ea --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SocketAddrMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "SocketAddrMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "SocketAddrOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleSocketAddrConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SslProtocolMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SslProtocolMatchConditionParameters.json new file mode 100644 index 00000000000..b40cdb0b779 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-SslProtocolMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "SslProtocolMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "SslProtocol" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "SslProtocolOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleSslProtocolConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileExtensionMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileExtensionMatchConditionParameters.json new file mode 100644 index 00000000000..d481eb081bd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileExtensionMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "UrlFileExtensionMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileExtensionOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlFileExtensionMatchConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileNameMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileNameMatchConditionParameters.json new file mode 100644 index 00000000000..9f0a0eb2d36 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlFileNameMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "UrlFileNameMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlFileNameOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlFilenameConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlPathMatchConditionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlPathMatchConditionParameters.json new file mode 100644 index 00000000000..a3093d3b93c --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlPathMatchConditionParameters.json @@ -0,0 +1,68 @@ +{ + "name": "UrlPathMatchConditionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValues", + "name": "MatchValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlPathOperator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Transform" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleConditionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlPathMatchConditionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectAction.json new file mode 100644 index 00000000000..93c908b5c9a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectAction.json @@ -0,0 +1,21 @@ +{ + "name": "UrlRedirectAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlRedirectActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "UrlRedirect", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectActionParameters.json new file mode 100644 index 00000000000..f5f05ccf294 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRedirectActionParameters.json @@ -0,0 +1,86 @@ +{ + "name": "UrlRedirectActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customFragment", + "name": "CustomFragment", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customHostname", + "name": "CustomHostname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customPath", + "name": "CustomPath", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customQueryString", + "name": "CustomQueryString", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "destinationProtocol", + "name": "DestinationProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "DestinationProtocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "redirectType", + "name": "RedirectType", + "objectDefinition": { + "type": "Reference", + "referenceName": "RedirectType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlRedirectActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteAction.json new file mode 100644 index 00000000000..16111bb8bc0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteAction.json @@ -0,0 +1,21 @@ +{ + "name": "UrlRewriteAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlRewriteActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "UrlRewrite", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteActionParameters.json new file mode 100644 index 00000000000..33cb72e2c87 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlRewriteActionParameters.json @@ -0,0 +1,47 @@ +{ + "name": "UrlRewriteActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "destination", + "name": "Destination", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "preserveUnmatchedPath", + "name": "PreserveUnmatchedPath", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sourcePattern", + "name": "SourcePattern", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlRewriteActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningAction.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningAction.json new file mode 100644 index 00000000000..5f82d5267f6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningAction.json @@ -0,0 +1,21 @@ +{ + "name": "UrlSigningAction", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "UrlSigningActionParameters" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleAction", + "discriminatedTypeValue": "UrlSigning", + "typeHintIn": "Name" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningActionParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningActionParameters.json new file mode 100644 index 00000000000..18a85096079 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningActionParameters.json @@ -0,0 +1,38 @@ +{ + "name": "UrlSigningActionParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "algorithm", + "name": "Algorithm", + "objectDefinition": { + "type": "Reference", + "referenceName": "Algorithm" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameterNameOverride", + "name": "ParameterNameOverride", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "UrlSigningParamIdentifier" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "DeliveryRuleActionParameters", + "discriminatedTypeValue": "DeliveryRuleUrlSigningActionParameters", + "typeHintIn": "TypeName" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningParamIdentifier.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningParamIdentifier.json new file mode 100644 index 00000000000..e814efae9bc --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Model-UrlSigningParamIdentifier.json @@ -0,0 +1,31 @@ +{ + "name": "UrlSigningParamIdentifier", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "paramIndicator", + "name": "ParamIndicator", + "objectDefinition": { + "type": "Reference", + "referenceName": "ParamIndicator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "paramName", + "name": "ParamName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Create.json new file mode 100644 index 00000000000..a59d524cc73 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "RuleId", + "requestObject": { + "type": "Reference", + "referenceName": "Rule" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Rule" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Delete.json new file mode 100644 index 00000000000..a4d2e54c8de --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "RuleId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Get.json new file mode 100644 index 00000000000..2ad86d526e8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RuleId", + "responseObject": { + "type": "Reference", + "referenceName": "Rule" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-ListByRuleSet.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-ListByRuleSet.json new file mode 100644 index 00000000000..4bbf3cae0a7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-ListByRuleSet.json @@ -0,0 +1,16 @@ +{ + "name": "ListByRuleSet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RuleSetId", + "responseObject": { + "type": "Reference", + "referenceName": "Rule" + }, + "uriSuffix": "/rules" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Update.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Update.json new file mode 100644 index 00000000000..14804bd0d3b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "RuleId", + "requestObject": { + "type": "Reference", + "referenceName": "RuleUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Rule" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleId.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleId.json new file mode 100644 index 00000000000..faf498cb10f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleId.json @@ -0,0 +1,61 @@ +{ + "name": "RuleId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticRuleSets", + "type": "Static", + "value": "ruleSets" + }, + { + "name": "ruleSetName", + "type": "UserSpecified" + }, + { + "name": "staticRules", + "type": "Static", + "value": "rules" + }, + { + "name": "ruleName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleSetId.json b/api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleSetId.json new file mode 100644 index 00000000000..4dc66d55fae --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Rules/ResourceId-RuleSetId.json @@ -0,0 +1,52 @@ +{ + "name": "RuleSetId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/ruleSets/{ruleSetName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticRuleSets", + "type": "Static", + "value": "ruleSets" + }, + { + "name": "ruleSetName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-SecretType.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-SecretType.json new file mode 100644 index 00000000000..e2a3003ac24 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Constant-SecretType.json @@ -0,0 +1,22 @@ +{ + "name": "SecretType", + "type": "String", + "values": [ + { + "key": "AzureFirstPartyManagedCertificate", + "value": "AzureFirstPartyManagedCertificate" + }, + { + "key": "CustomerCertificate", + "value": "CustomerCertificate" + }, + { + "key": "ManagedCertificate", + "value": "ManagedCertificate" + }, + { + "key": "UrlSigningKey", + "value": "UrlSigningKey" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-AzureFirstPartyManagedCertificateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-AzureFirstPartyManagedCertificateParameters.json new file mode 100644 index 00000000000..d4ecb9ae0d5 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-AzureFirstPartyManagedCertificateParameters.json @@ -0,0 +1,90 @@ +{ + "name": "AzureFirstPartyManagedCertificateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateAuthority", + "name": "CertificateAuthority", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretSource", + "name": "SecretSource", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subjectAlternativeNames", + "name": "SubjectAlternativeNames", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "thumbprint", + "name": "Thumbprint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "SecretParameters", + "discriminatedTypeValue": "AzureFirstPartyManagedCertificate", + "typeHintIn": "Type" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-CustomerCertificateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-CustomerCertificateParameters.json new file mode 100644 index 00000000000..5935bfb49b8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-CustomerCertificateParameters.json @@ -0,0 +1,116 @@ +{ + "name": "CustomerCertificateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "certificateAuthority", + "name": "CertificateAuthority", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretSource", + "name": "SecretSource", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretVersion", + "name": "SecretVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subjectAlternativeNames", + "name": "SubjectAlternativeNames", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "thumbprint", + "name": "Thumbprint", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "useLatestVersion", + "name": "UseLatestVersion", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "SecretParameters", + "discriminatedTypeValue": "CustomerCertificate", + "typeHintIn": "Type" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ManagedCertificateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ManagedCertificateParameters.json new file mode 100644 index 00000000000..c6fabf42ffd --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ManagedCertificateParameters.json @@ -0,0 +1,34 @@ +{ + "name": "ManagedCertificateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "expirationDate", + "name": "ExpirationDate", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "subject", + "name": "Subject", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "SecretParameters", + "discriminatedTypeValue": "ManagedCertificate", + "typeHintIn": "Type" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-Secret.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-Secret.json new file mode 100644 index 00000000000..ad7cbc152c3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-Secret.json @@ -0,0 +1,70 @@ +{ + "name": "Secret", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecretProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretParameters.json new file mode 100644 index 00000000000..4109d126b68 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretParameters.json @@ -0,0 +1,19 @@ +{ + "name": "SecretParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecretType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Type" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretProperties.json new file mode 100644 index 00000000000..c0485d2993b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-SecretProperties.json @@ -0,0 +1,57 @@ +{ + "name": "SecretProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecretParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-UrlSigningKeyParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-UrlSigningKeyParameters.json new file mode 100644 index 00000000000..3a7c4644b8a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Model-UrlSigningKeyParameters.json @@ -0,0 +1,47 @@ +{ + "name": "UrlSigningKeyParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyId", + "name": "KeyId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretSource", + "name": "SecretSource", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secretVersion", + "name": "SecretVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "SecretParameters", + "discriminatedTypeValue": "UrlSigningKey", + "typeHintIn": "Type" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Create.json new file mode 100644 index 00000000000..fcb1b1f8fca --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "SecretId", + "requestObject": { + "type": "Reference", + "referenceName": "Secret" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Secret" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Delete.json new file mode 100644 index 00000000000..8c75406dfde --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "SecretId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Get.json new file mode 100644 index 00000000000..1286ab9be4e --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SecretId", + "responseObject": { + "type": "Reference", + "referenceName": "Secret" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-ListByProfile.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-ListByProfile.json new file mode 100644 index 00000000000..37f0eaf6c4d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/Operation-ListByProfile.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProfile", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "Secret" + }, + "uriSuffix": "/secrets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-SecretId.json b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-SecretId.json new file mode 100644 index 00000000000..2251f0799a6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/Secrets/ResourceId-SecretId.json @@ -0,0 +1,52 @@ +{ + "name": "SecretId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/secrets/{secretName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticSecrets", + "type": "Static", + "value": "secrets" + }, + { + "name": "secretName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-AfdProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-AfdProvisioningState.json new file mode 100644 index 00000000000..29321322c61 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-AfdProvisioningState.json @@ -0,0 +1,26 @@ +{ + "name": "AfdProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-DeploymentStatus.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-DeploymentStatus.json new file mode 100644 index 00000000000..88844aac685 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-DeploymentStatus.json @@ -0,0 +1,22 @@ +{ + "name": "DeploymentStatus", + "type": "String", + "values": [ + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "InProgress", + "value": "InProgress" + }, + { + "key": "NotStarted", + "value": "NotStarted" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-SecurityPolicyType.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-SecurityPolicyType.json new file mode 100644 index 00000000000..3f67adb3bb8 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Constant-SecurityPolicyType.json @@ -0,0 +1,10 @@ +{ + "name": "SecurityPolicyType", + "type": "String", + "values": [ + { + "key": "WebApplicationFirewall", + "value": "WebApplicationFirewall" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ActivatedResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ActivatedResourceReference.json new file mode 100644 index 00000000000..754cf99e847 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ActivatedResourceReference.json @@ -0,0 +1,31 @@ +{ + "name": "ActivatedResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isActive", + "name": "IsActive", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ResourceReference.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ResourceReference.json new file mode 100644 index 00000000000..03b4fa5c207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-ResourceReference.json @@ -0,0 +1,18 @@ +{ + "name": "ResourceReference", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicy.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicy.json new file mode 100644 index 00000000000..49e4747a1df --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicy.json @@ -0,0 +1,70 @@ +{ + "name": "SecurityPolicy", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecurityPolicyProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyProperties.json new file mode 100644 index 00000000000..4818868c876 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyProperties.json @@ -0,0 +1,57 @@ +{ + "name": "SecurityPolicyProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deploymentStatus", + "name": "DeploymentStatus", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeploymentStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecurityPolicyPropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "profileName", + "name": "ProfileName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "AfdProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyPropertiesParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyPropertiesParameters.json new file mode 100644 index 00000000000..8025913d207 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyPropertiesParameters.json @@ -0,0 +1,19 @@ +{ + "name": "SecurityPolicyPropertiesParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": true, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecurityPolicyType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ], + "typeHintIn": "Type" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateParameters.json new file mode 100644 index 00000000000..a85167ca6ff --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateParameters.json @@ -0,0 +1,18 @@ +{ + "name": "SecurityPolicyUpdateParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecurityPolicyUpdateProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateProperties.json new file mode 100644 index 00000000000..90ea528808b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyUpdateProperties.json @@ -0,0 +1,18 @@ +{ + "name": "SecurityPolicyUpdateProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "parameters", + "name": "Parameters", + "objectDefinition": { + "type": "Reference", + "referenceName": "SecurityPolicyPropertiesParameters" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallAssociation.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallAssociation.json new file mode 100644 index 00000000000..c362c987c1f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallAssociation.json @@ -0,0 +1,39 @@ +{ + "name": "SecurityPolicyWebApplicationFirewallAssociation", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "domains", + "name": "Domains", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ActivatedResourceReference" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "patternsToMatch", + "name": "PatternsToMatch", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallParameters.json new file mode 100644 index 00000000000..cf69ce7ab02 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Model-SecurityPolicyWebApplicationFirewallParameters.json @@ -0,0 +1,38 @@ +{ + "name": "SecurityPolicyWebApplicationFirewallParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "associations", + "name": "Associations", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "SecurityPolicyWebApplicationFirewallAssociation" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "wafPolicy", + "name": "WafPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceReference" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ], + "discriminatedParentModelName": "SecurityPolicyPropertiesParameters", + "discriminatedTypeValue": "WebApplicationFirewall", + "typeHintIn": "Type" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Create.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Create.json new file mode 100644 index 00000000000..72a1244fed6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Create.json @@ -0,0 +1,20 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "SecurityPolicyId", + "requestObject": { + "type": "Reference", + "referenceName": "SecurityPolicy" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SecurityPolicy" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Delete.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Delete.json new file mode 100644 index 00000000000..c43dfb3bdd4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "SecurityPolicyId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Get.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Get.json new file mode 100644 index 00000000000..aa18aa21436 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SecurityPolicyId", + "responseObject": { + "type": "Reference", + "referenceName": "SecurityPolicy" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-ListByProfile.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-ListByProfile.json new file mode 100644 index 00000000000..b3896aeb25a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-ListByProfile.json @@ -0,0 +1,16 @@ +{ + "name": "ListByProfile", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "SecurityPolicy" + }, + "uriSuffix": "/securityPolicies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Patch.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Patch.json new file mode 100644 index 00000000000..727ab43f669 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/Operation-Patch.json @@ -0,0 +1,19 @@ +{ + "name": "Patch", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "SecurityPolicyId", + "requestObject": { + "type": "Reference", + "referenceName": "SecurityPolicyUpdateParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "SecurityPolicy" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-SecurityPolicyId.json b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-SecurityPolicyId.json new file mode 100644 index 00000000000..56809aaaf1a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/SecurityPolicies/ResourceId-SecurityPolicyId.json @@ -0,0 +1,52 @@ +{ + "name": "SecurityPolicyId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}/securityPolicies/{securityPolicyName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + }, + { + "name": "staticSecurityPolicies", + "type": "Static", + "value": "securityPolicies" + }, + { + "name": "securityPolicyName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeInput.json b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeInput.json new file mode 100644 index 00000000000..f2a6418d91d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeInput.json @@ -0,0 +1,18 @@ +{ + "name": "ValidateProbeInput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "probeURL", + "name": "ProbeURL", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeOutput.json b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeOutput.json new file mode 100644 index 00000000000..44b04cf40c9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Model-ValidateProbeOutput.json @@ -0,0 +1,44 @@ +{ + "name": "ValidateProbeOutput", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "errorCode", + "name": "ErrorCode", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "isValid", + "name": "IsValid", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "message", + "name": "Message", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Operation-ValidateProbe.json b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Operation-ValidateProbe.json new file mode 100644 index 00000000000..af53ce99d85 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/Operation-ValidateProbe.json @@ -0,0 +1,19 @@ +{ + "name": "ValidateProbe", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "SubscriptionId", + "requestObject": { + "type": "Reference", + "referenceName": "ValidateProbeInput" + }, + "responseObject": { + "type": "Reference", + "referenceName": "ValidateProbeOutput" + }, + "uriSuffix": "/providers/Microsoft.CDN/validateProbe" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/ValidateProbe/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafGranularity.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafGranularity.json new file mode 100644 index 00000000000..f41ed6e6930 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafGranularity.json @@ -0,0 +1,18 @@ +{ + "name": "WafGranularity", + "type": "String", + "values": [ + { + "key": "POneD", + "value": "P1D" + }, + { + "key": "PTFiveM", + "value": "PT5M" + }, + { + "key": "PTOneH", + "value": "PT1H" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsGranularity.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsGranularity.json new file mode 100644 index 00000000000..dca4d1900ea --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsGranularity.json @@ -0,0 +1,18 @@ +{ + "name": "WafMetricsGranularity", + "type": "String", + "values": [ + { + "key": "POneD", + "value": "P1D" + }, + { + "key": "PTFiveM", + "value": "PT5M" + }, + { + "key": "PTOneH", + "value": "PT1H" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsSeriesUnit.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsSeriesUnit.json new file mode 100644 index 00000000000..77a80d68aab --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Constant-WafMetricsSeriesUnit.json @@ -0,0 +1,10 @@ +{ + "name": "WafMetricsSeriesUnit", + "type": "String", + "values": [ + { + "key": "Count", + "value": "count" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponse.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponse.json new file mode 100644 index 00000000000..83fe02b95a0 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponse.json @@ -0,0 +1,63 @@ +{ + "name": "WafMetricsResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeBegin", + "name": "DateTimeBegin", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeEnd", + "name": "DateTimeEnd", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "granularity", + "name": "Granularity", + "objectDefinition": { + "type": "Reference", + "referenceName": "WafMetricsGranularity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "series", + "name": "Series", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WafMetricsResponseSeriesInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlined.json new file mode 100644 index 00000000000..2e1295a7ed4 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlined.json @@ -0,0 +1,65 @@ +{ + "name": "WafMetricsResponseSeriesInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WafMetricsResponseSeriesInlinedDataInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groups", + "name": "Groups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WafMetricsResponseSeriesInlinedGroupsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metric", + "name": "Metric", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "unit", + "name": "Unit", + "objectDefinition": { + "type": "Reference", + "referenceName": "WafMetricsSeriesUnit" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedDataInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedDataInlined.json new file mode 100644 index 00000000000..a8976764ac1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedDataInlined.json @@ -0,0 +1,32 @@ +{ + "name": "WafMetricsResponseSeriesInlinedDataInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTime", + "name": "DateTime", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedGroupsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedGroupsInlined.json new file mode 100644 index 00000000000..a125e2d03ee --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafMetricsResponseSeriesInlinedGroupsInlined.json @@ -0,0 +1,31 @@ +{ + "name": "WafMetricsResponseSeriesInlinedGroupsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponse.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponse.json new file mode 100644 index 00000000000..a9e75d6ccd6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponse.json @@ -0,0 +1,67 @@ +{ + "name": "WafRankingsResponse", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "data", + "name": "Data", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WafRankingsResponseDataInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeBegin", + "name": "DateTimeBegin", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "dateFormat": "RFC3339", + "jsonName": "dateTimeEnd", + "name": "DateTimeEnd", + "objectDefinition": { + "type": "DateTime", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groups", + "name": "Groups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlined.json new file mode 100644 index 00000000000..8c29dddc54a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlined.json @@ -0,0 +1,39 @@ +{ + "name": "WafRankingsResponseDataInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupValues", + "name": "GroupValues", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metrics", + "name": "Metrics", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "WafRankingsResponseDataInlinedMetricsInlined" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlinedMetricsInlined.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlinedMetricsInlined.json new file mode 100644 index 00000000000..29877b14056 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Model-WafRankingsResponseDataInlinedMetricsInlined.json @@ -0,0 +1,44 @@ +{ + "name": "WafRankingsResponseDataInlinedMetricsInlined", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "metric", + "name": "Metric", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "percentage", + "name": "Percentage", + "objectDefinition": { + "type": "Float", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsMetrics.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsMetrics.json new file mode 100644 index 00000000000..e8f1894ad5a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsMetrics.json @@ -0,0 +1,103 @@ +{ + "name": "LogAnalyticsGetWafLogAnalyticsMetrics", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "actions", + "required": false, + "field": "Actions", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "dateTimeBegin", + "required": true, + "field": "DateTimeBegin", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "dateTimeEnd", + "required": true, + "field": "DateTimeEnd", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "granularity", + "required": true, + "field": "Granularity", + "optionsObjectDefinition": { + "type": "Reference", + "referenceName": "WafGranularity" + } + }, + { + "optional": true, + "queryString": "groupBy", + "required": false, + "field": "GroupBy", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "metrics", + "required": true, + "field": "Metrics", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": true, + "queryString": "ruleTypes", + "required": false, + "field": "RuleTypes", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + } + ], + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "WafMetricsResponse" + }, + "uriSuffix": "/getWafLogAnalyticsMetrics" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsRankings.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsRankings.json new file mode 100644 index 00000000000..21393062d7d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/Operation-LogAnalyticsGetWafLogAnalyticsRankings.json @@ -0,0 +1,103 @@ +{ + "name": "LogAnalyticsGetWafLogAnalyticsRankings", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "options": [ + { + "optional": true, + "queryString": "actions", + "required": false, + "field": "Actions", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "dateTimeBegin", + "required": true, + "field": "DateTimeBegin", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "dateTimeEnd", + "required": true, + "field": "DateTimeEnd", + "optionsObjectDefinition": { + "type": "String", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "maxRanking", + "required": true, + "field": "MaxRanking", + "optionsObjectDefinition": { + "type": "Integer", + "referenceName": null + } + }, + { + "optional": false, + "queryString": "metrics", + "required": true, + "field": "Metrics", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": false, + "queryString": "rankings", + "required": true, + "field": "Rankings", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + }, + { + "optional": true, + "queryString": "ruleTypes", + "required": false, + "field": "RuleTypes", + "optionsObjectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + } + } + ], + "resourceIdName": "ProfileId", + "responseObject": { + "type": "Reference", + "referenceName": "WafRankingsResponse" + }, + "uriSuffix": "/getWafLogAnalyticsRankings" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/ResourceId-ProfileId.json b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/ResourceId-ProfileId.json new file mode 100644 index 00000000000..8390c6be223 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WafLogAnalytics/ResourceId-ProfileId.json @@ -0,0 +1,43 @@ +{ + "name": "ProfileId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/profiles/{profileName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticProfiles", + "type": "Static", + "value": "profiles" + }, + { + "name": "profileName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Constant-SkuName.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Constant-SkuName.json new file mode 100644 index 00000000000..0cb3d80d3f1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Constant-SkuName.json @@ -0,0 +1,58 @@ +{ + "name": "SkuName", + "type": "String", + "values": [ + { + "key": "CustomVerizon", + "value": "Custom_Verizon" + }, + { + "key": "PremiumAzureFrontDoor", + "value": "Premium_AzureFrontDoor" + }, + { + "key": "PremiumVerizon", + "value": "Premium_Verizon" + }, + { + "key": "StandardAkamai", + "value": "Standard_Akamai" + }, + { + "key": "StandardAvgBandWidthChinaCdn", + "value": "Standard_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardAzureFrontDoor", + "value": "Standard_AzureFrontDoor" + }, + { + "key": "StandardChinaCdn", + "value": "Standard_ChinaCdn" + }, + { + "key": "StandardMicrosoft", + "value": "Standard_Microsoft" + }, + { + "key": "StandardNineFiveFiveBandWidthChinaCdn", + "value": "Standard_955BandWidth_ChinaCdn" + }, + { + "key": "StandardPlusAvgBandWidthChinaCdn", + "value": "StandardPlus_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardPlusChinaCdn", + "value": "StandardPlus_ChinaCdn" + }, + { + "key": "StandardPlusNineFiveFiveBandWidthChinaCdn", + "value": "StandardPlus_955BandWidth_ChinaCdn" + }, + { + "key": "StandardVerizon", + "value": "Standard_Verizon" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleDefinition.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleDefinition.json new file mode 100644 index 00000000000..490fe3d2743 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleDefinition.json @@ -0,0 +1,31 @@ +{ + "name": "ManagedRuleDefinition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleId", + "name": "RuleId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleGroupDefinition.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleGroupDefinition.json new file mode 100644 index 00000000000..414e34df8ce --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleGroupDefinition.json @@ -0,0 +1,48 @@ +{ + "name": "ManagedRuleGroupDefinition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleGroupName", + "name": "RuleGroupName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rules", + "name": "Rules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ManagedRuleDefinition" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinition.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinition.json new file mode 100644 index 00000000000..021d5601de6 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinition.json @@ -0,0 +1,83 @@ +{ + "name": "ManagedRuleSetDefinition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ManagedRuleSetDefinitionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "Sku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinitionProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinitionProperties.json new file mode 100644 index 00000000000..a907a27575f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-ManagedRuleSetDefinitionProperties.json @@ -0,0 +1,61 @@ +{ + "name": "ManagedRuleSetDefinitionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleGroups", + "name": "RuleGroups", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ManagedRuleGroupDefinition" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSetType", + "name": "RuleSetType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSetVersion", + "name": "RuleSetVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-Sku.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-Sku.json new file mode 100644 index 00000000000..57bc451be90 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Model-Sku.json @@ -0,0 +1,18 @@ +{ + "name": "Sku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "SkuName" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Operation-ManagedRuleSetsList.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Operation-ManagedRuleSetsList.json new file mode 100644 index 00000000000..b3c5910869f --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/Operation-ManagedRuleSetsList.json @@ -0,0 +1,16 @@ +{ + "name": "ManagedRuleSetsList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "ManagedRuleSetDefinition" + }, + "uriSuffix": "/providers/Microsoft.CDN/cdnWebApplicationFirewallManagedRuleSets" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallManagedRuleSets/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ActionType.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ActionType.json new file mode 100644 index 00000000000..0e3cd93bf47 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ActionType.json @@ -0,0 +1,22 @@ +{ + "name": "ActionType", + "type": "String", + "values": [ + { + "key": "Allow", + "value": "Allow" + }, + { + "key": "Block", + "value": "Block" + }, + { + "key": "Log", + "value": "Log" + }, + { + "key": "Redirect", + "value": "Redirect" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-CustomRuleEnabledState.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-CustomRuleEnabledState.json new file mode 100644 index 00000000000..f5db8129233 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-CustomRuleEnabledState.json @@ -0,0 +1,14 @@ +{ + "name": "CustomRuleEnabledState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-DefaultCustomBlockResponseStatusCode.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-DefaultCustomBlockResponseStatusCode.json new file mode 100644 index 00000000000..518af9ae218 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-DefaultCustomBlockResponseStatusCode.json @@ -0,0 +1,26 @@ +{ + "name": "DefaultCustomBlockResponseStatusCode", + "type": "String", + "values": [ + { + "key": "FourTwoNine", + "value": "429" + }, + { + "key": "FourZeroFive", + "value": "405" + }, + { + "key": "FourZeroSix", + "value": "406" + }, + { + "key": "FourZeroThree", + "value": "403" + }, + { + "key": "TwoHundred", + "value": "200" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ManagedRuleEnabledState.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ManagedRuleEnabledState.json new file mode 100644 index 00000000000..9e24c3b579a --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ManagedRuleEnabledState.json @@ -0,0 +1,14 @@ +{ + "name": "ManagedRuleEnabledState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-Operator.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-Operator.json new file mode 100644 index 00000000000..dfed3230071 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-Operator.json @@ -0,0 +1,54 @@ +{ + "name": "Operator", + "type": "String", + "values": [ + { + "key": "Any", + "value": "Any" + }, + { + "key": "BeginsWith", + "value": "BeginsWith" + }, + { + "key": "Contains", + "value": "Contains" + }, + { + "key": "EndsWith", + "value": "EndsWith" + }, + { + "key": "Equal", + "value": "Equal" + }, + { + "key": "GeoMatch", + "value": "GeoMatch" + }, + { + "key": "GreaterThan", + "value": "GreaterThan" + }, + { + "key": "GreaterThanOrEqual", + "value": "GreaterThanOrEqual" + }, + { + "key": "IPMatch", + "value": "IPMatch" + }, + { + "key": "LessThan", + "value": "LessThan" + }, + { + "key": "LessThanOrEqual", + "value": "LessThanOrEqual" + }, + { + "key": "RegEx", + "value": "RegEx" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyEnabledState.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyEnabledState.json new file mode 100644 index 00000000000..3ff32dff873 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyEnabledState.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyEnabledState", + "type": "String", + "values": [ + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Enabled", + "value": "Enabled" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyMode.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyMode.json new file mode 100644 index 00000000000..c053d5b9973 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyMode.json @@ -0,0 +1,14 @@ +{ + "name": "PolicyMode", + "type": "String", + "values": [ + { + "key": "Detection", + "value": "Detection" + }, + { + "key": "Prevention", + "value": "Prevention" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyResourceState.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyResourceState.json new file mode 100644 index 00000000000..ffb15524e4b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-PolicyResourceState.json @@ -0,0 +1,30 @@ +{ + "name": "PolicyResourceState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Disabling", + "value": "Disabling" + }, + { + "key": "Enabled", + "value": "Enabled" + }, + { + "key": "Enabling", + "value": "Enabling" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ProvisioningState.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ProvisioningState.json new file mode 100644 index 00000000000..bb617acbede --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-ProvisioningState.json @@ -0,0 +1,18 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-SkuName.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-SkuName.json new file mode 100644 index 00000000000..0cb3d80d3f1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-SkuName.json @@ -0,0 +1,58 @@ +{ + "name": "SkuName", + "type": "String", + "values": [ + { + "key": "CustomVerizon", + "value": "Custom_Verizon" + }, + { + "key": "PremiumAzureFrontDoor", + "value": "Premium_AzureFrontDoor" + }, + { + "key": "PremiumVerizon", + "value": "Premium_Verizon" + }, + { + "key": "StandardAkamai", + "value": "Standard_Akamai" + }, + { + "key": "StandardAvgBandWidthChinaCdn", + "value": "Standard_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardAzureFrontDoor", + "value": "Standard_AzureFrontDoor" + }, + { + "key": "StandardChinaCdn", + "value": "Standard_ChinaCdn" + }, + { + "key": "StandardMicrosoft", + "value": "Standard_Microsoft" + }, + { + "key": "StandardNineFiveFiveBandWidthChinaCdn", + "value": "Standard_955BandWidth_ChinaCdn" + }, + { + "key": "StandardPlusAvgBandWidthChinaCdn", + "value": "StandardPlus_AvgBandWidth_ChinaCdn" + }, + { + "key": "StandardPlusChinaCdn", + "value": "StandardPlus_ChinaCdn" + }, + { + "key": "StandardPlusNineFiveFiveBandWidthChinaCdn", + "value": "StandardPlus_955BandWidth_ChinaCdn" + }, + { + "key": "StandardVerizon", + "value": "Standard_Verizon" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-TransformType.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-TransformType.json new file mode 100644 index 00000000000..3a8aa7a69a9 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-TransformType.json @@ -0,0 +1,30 @@ +{ + "name": "TransformType", + "type": "String", + "values": [ + { + "key": "Lowercase", + "value": "Lowercase" + }, + { + "key": "RemoveNulls", + "value": "RemoveNulls" + }, + { + "key": "Trim", + "value": "Trim" + }, + { + "key": "Uppercase", + "value": "Uppercase" + }, + { + "key": "UrlDecode", + "value": "UrlDecode" + }, + { + "key": "UrlEncode", + "value": "UrlEncode" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-WafMatchVariable.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-WafMatchVariable.json new file mode 100644 index 00000000000..8cc61330351 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Constant-WafMatchVariable.json @@ -0,0 +1,42 @@ +{ + "name": "WafMatchVariable", + "type": "String", + "values": [ + { + "key": "Cookies", + "value": "Cookies" + }, + { + "key": "PostArgs", + "value": "PostArgs" + }, + { + "key": "QueryString", + "value": "QueryString" + }, + { + "key": "RemoteAddr", + "value": "RemoteAddr" + }, + { + "key": "RequestBody", + "value": "RequestBody" + }, + { + "key": "RequestHeader", + "value": "RequestHeader" + }, + { + "key": "RequestMethod", + "value": "RequestMethod" + }, + { + "key": "RequestUri", + "value": "RequestUri" + }, + { + "key": "SocketAddr", + "value": "SocketAddr" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnEndpoint.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnEndpoint.json new file mode 100644 index 00000000000..704484ca963 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnEndpoint.json @@ -0,0 +1,18 @@ +{ + "name": "CdnEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicy.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicy.json new file mode 100644 index 00000000000..cebc4b95eed --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicy.json @@ -0,0 +1,122 @@ +{ + "name": "CdnWebApplicationFirewallPolicy", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "etag", + "name": "Etag", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "CdnWebApplicationFirewallPolicyProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "Sku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "systemData", + "name": "SystemData", + "objectDefinition": { + "type": "SystemData", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyPatchParameters.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyPatchParameters.json new file mode 100644 index 00000000000..4f975b78900 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyPatchParameters.json @@ -0,0 +1,18 @@ +{ + "name": "CdnWebApplicationFirewallPolicyPatchParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyProperties.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyProperties.json new file mode 100644 index 00000000000..19627d987d3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CdnWebApplicationFirewallPolicyProperties.json @@ -0,0 +1,117 @@ +{ + "name": "CdnWebApplicationFirewallPolicyProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customRules", + "name": "CustomRules", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomRuleList" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "endpointLinks", + "name": "EndpointLinks", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "CdnEndpoint" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "extendedProperties", + "name": "ExtendedProperties", + "objectDefinition": { + "type": "Dictionary", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "managedRules", + "name": "ManagedRules", + "objectDefinition": { + "type": "Reference", + "referenceName": "ManagedRuleSetList" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "policySettings", + "name": "PolicySettings", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicySettings" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rateLimitRules", + "name": "RateLimitRules", + "objectDefinition": { + "type": "Reference", + "referenceName": "RateLimitRuleList" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRule.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRule.json new file mode 100644 index 00000000000..abdbf7324e7 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRule.json @@ -0,0 +1,74 @@ +{ + "name": "CustomRule", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "action", + "name": "Action", + "objectDefinition": { + "type": "Reference", + "referenceName": "ActionType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomRuleEnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchConditions", + "name": "MatchConditions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "MatchCondition" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRuleList.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRuleList.json new file mode 100644 index 00000000000..fe043cc0d92 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-CustomRuleList.json @@ -0,0 +1,22 @@ +{ + "name": "CustomRuleList", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rules", + "name": "Rules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "CustomRule" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleGroupOverride.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleGroupOverride.json new file mode 100644 index 00000000000..ef4d8a454d1 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleGroupOverride.json @@ -0,0 +1,35 @@ +{ + "name": "ManagedRuleGroupOverride", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleGroupName", + "name": "RuleGroupName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rules", + "name": "Rules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ManagedRuleOverride" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleOverride.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleOverride.json new file mode 100644 index 00000000000..82c930558df --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleOverride.json @@ -0,0 +1,44 @@ +{ + "name": "ManagedRuleOverride", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "action", + "name": "Action", + "objectDefinition": { + "type": "Reference", + "referenceName": "ActionType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ManagedRuleEnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleId", + "name": "RuleId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSet.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSet.json new file mode 100644 index 00000000000..fda1b9ed59d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSet.json @@ -0,0 +1,61 @@ +{ + "name": "ManagedRuleSet", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "anomalyScore", + "name": "AnomalyScore", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleGroupOverrides", + "name": "RuleGroupOverrides", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ManagedRuleGroupOverride" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSetType", + "name": "RuleSetType", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ruleSetVersion", + "name": "RuleSetVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSetList.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSetList.json new file mode 100644 index 00000000000..bf2b123b264 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-ManagedRuleSetList.json @@ -0,0 +1,22 @@ +{ + "name": "ManagedRuleSetList", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "managedRuleSets", + "name": "ManagedRuleSets", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "ManagedRuleSet" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-MatchCondition.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-MatchCondition.json new file mode 100644 index 00000000000..ac943dcb53d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-MatchCondition.json @@ -0,0 +1,91 @@ +{ + "name": "MatchCondition", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchValue", + "name": "MatchValue", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchVariable", + "name": "MatchVariable", + "objectDefinition": { + "type": "Reference", + "referenceName": "WafMatchVariable" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "negateCondition", + "name": "NegateCondition", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "operator", + "name": "Operator", + "objectDefinition": { + "type": "Reference", + "referenceName": "Operator" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "selector", + "name": "Selector", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "transforms", + "name": "Transforms", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "TransformType" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-PolicySettings.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-PolicySettings.json new file mode 100644 index 00000000000..2d6f3262bbf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-PolicySettings.json @@ -0,0 +1,70 @@ +{ + "name": "PolicySettings", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultCustomBlockResponseBody", + "name": "DefaultCustomBlockResponseBody", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultCustomBlockResponseStatusCode", + "name": "DefaultCustomBlockResponseStatusCode", + "objectDefinition": { + "type": "Reference", + "referenceName": "DefaultCustomBlockResponseStatusCode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "defaultRedirectUrl", + "name": "DefaultRedirectUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyEnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "mode", + "name": "Mode", + "objectDefinition": { + "type": "Reference", + "referenceName": "PolicyMode" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRule.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRule.json new file mode 100644 index 00000000000..3601f6dc949 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRule.json @@ -0,0 +1,100 @@ +{ + "name": "RateLimitRule", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "action", + "name": "Action", + "objectDefinition": { + "type": "Reference", + "referenceName": "ActionType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "enabledState", + "name": "EnabledState", + "objectDefinition": { + "type": "Reference", + "referenceName": "CustomRuleEnabledState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "matchConditions", + "name": "MatchConditions", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "MatchCondition" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "priority", + "name": "Priority", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rateLimitDurationInMinutes", + "name": "RateLimitDurationInMinutes", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rateLimitThreshold", + "name": "RateLimitThreshold", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRuleList.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRuleList.json new file mode 100644 index 00000000000..653cff693da --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-RateLimitRuleList.json @@ -0,0 +1,22 @@ +{ + "name": "RateLimitRuleList", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rules", + "name": "Rules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "RateLimitRule" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-Sku.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-Sku.json new file mode 100644 index 00000000000..57bc451be90 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Model-Sku.json @@ -0,0 +1,18 @@ +{ + "name": "Sku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "SkuName" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesCreateOrUpdate.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesCreateOrUpdate.json new file mode 100644 index 00000000000..70390b3bc6d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesCreateOrUpdate.json @@ -0,0 +1,20 @@ +{ + "name": "PoliciesCreateOrUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201, + 202 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "CdnWebApplicationFirewallPolicyId", + "requestObject": { + "type": "Reference", + "referenceName": "CdnWebApplicationFirewallPolicy" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CdnWebApplicationFirewallPolicy" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesDelete.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesDelete.json new file mode 100644 index 00000000000..6f72d885f3b --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesDelete.json @@ -0,0 +1,11 @@ +{ + "name": "PoliciesDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 204 + ], + "longRunning": false, + "httpMethod": "DELETE", + "resourceIdName": "CdnWebApplicationFirewallPolicyId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesGet.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesGet.json new file mode 100644 index 00000000000..59936b74d3d --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesGet.json @@ -0,0 +1,14 @@ +{ + "name": "PoliciesGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "CdnWebApplicationFirewallPolicyId", + "responseObject": { + "type": "Reference", + "referenceName": "CdnWebApplicationFirewallPolicy" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesList.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesList.json new file mode 100644 index 00000000000..16ba5e7e5a3 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesList.json @@ -0,0 +1,16 @@ +{ + "name": "PoliciesList", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "CdnWebApplicationFirewallPolicy" + }, + "uriSuffix": "/providers/Microsoft.CDN/cdnWebApplicationFirewallPolicies" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesUpdate.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesUpdate.json new file mode 100644 index 00000000000..a215e4abb39 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/Operation-PoliciesUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "PoliciesUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "CdnWebApplicationFirewallPolicyId", + "requestObject": { + "type": "Reference", + "referenceName": "CdnWebApplicationFirewallPolicyPatchParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "CdnWebApplicationFirewallPolicy" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-CdnWebApplicationFirewallPolicyId.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-CdnWebApplicationFirewallPolicyId.json new file mode 100644 index 00000000000..06a024a2103 --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-CdnWebApplicationFirewallPolicyId.json @@ -0,0 +1,43 @@ +{ + "name": "CdnWebApplicationFirewallPolicyId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CDN/cdnWebApplicationFirewallPolicies/{cdnWebApplicationFirewallPolicyName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCDN", + "type": "ResourceProvider", + "value": "Microsoft.CDN" + }, + { + "name": "staticCdnWebApplicationFirewallPolicies", + "type": "Static", + "value": "cdnWebApplicationFirewallPolicies" + }, + { + "name": "cdnWebApplicationFirewallPolicyName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/CDN/2024-02-01/WebApplicationFirewallPolicies/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/CDN/ServiceDefinition.json b/api-definitions/resource-manager/CDN/ServiceDefinition.json new file mode 100644 index 00000000000..6edc9374192 --- /dev/null +++ b/api-definitions/resource-manager/CDN/ServiceDefinition.json @@ -0,0 +1,5 @@ +{ + "name": "CDN", + "resourceProvider": "Microsoft.Cdn", + "generate": true +} \ No newline at end of file From 16a34ceeecd27cc851801b412d6c357f1e9ca1a3 Mon Sep 17 00:00:00 2001 From: hc-github-team-tf-azure <> Date: Wed, 11 Sep 2024 18:33:34 +0000 Subject: [PATCH 120/134] data: regenerating based on the latest Swagger --- .../ApiVersionDefinition.json | 12 ++ .../Databases/Constant-AccessKeyType.json | 14 ++ .../Databases/Constant-AofFrequency.json | 14 ++ .../Databases/Constant-ClusteringPolicy.json | 14 ++ .../Constant-DeferUpgradeSetting.json | 14 ++ .../Databases/Constant-EvictionPolicy.json | 38 +++++ .../Databases/Constant-LinkState.json | 26 +++ .../Databases/Constant-Protocol.json | 14 ++ .../Databases/Constant-ProvisioningState.json | 30 ++++ .../Databases/Constant-RdbFrequency.json | 18 +++ .../Databases/Constant-ResourceState.json | 62 +++++++ .../Databases/Model-AccessKeys.json | 31 ++++ .../Databases/Model-Database.json | 57 +++++++ .../Databases/Model-DatabaseProperties.json | 152 ++++++++++++++++++ ...odel-DatabasePropertiesGeoReplication.json | 35 ++++ .../Databases/Model-DatabaseUpdate.json | 18 +++ .../Model-ExportClusterParameters.json | 18 +++ .../Databases/Model-FlushParameters.json | 22 +++ .../Databases/Model-ForceLinkParameters.json | 35 ++++ .../Model-ForceUnlinkParameters.json | 22 +++ .../Model-ImportClusterParameters.json | 22 +++ .../Databases/Model-LinkedDatabase.json | 31 ++++ .../Databases/Model-Module.json | 44 +++++ .../Databases/Model-Persistence.json | 57 +++++++ .../Model-RegenerateKeyParameters.json | 18 +++ .../Databases/Operation-Create.json | 19 +++ .../Databases/Operation-Delete.json | 12 ++ .../Databases/Operation-Export.json | 16 ++ .../Databases/Operation-Flush.json | 16 ++ ...Operation-ForceLinkToReplicationGroup.json | 15 ++ .../Databases/Operation-ForceUnlink.json | 16 ++ .../Databases/Operation-Get.json | 14 ++ .../Databases/Operation-Import.json | 16 ++ .../Databases/Operation-ListByCluster.json | 16 ++ .../Databases/Operation-ListKeys.json | 15 ++ .../Databases/Operation-RegenerateKey.json | 20 +++ .../Databases/Operation-Update.json | 19 +++ .../Operation-UpgradeDBRedisVersion.json | 11 ++ .../Databases/ResourceId-DatabaseId.json | 52 ++++++ .../ResourceId-RedisEnterpriseId.json | 43 +++++ ...teEndpointConnectionProvisioningState.json | 22 +++ ...rivateEndpointServiceConnectionStatus.json | 18 +++ .../Model-PrivateEndpoint.json | 18 +++ .../Model-PrivateEndpointConnection.json | 57 +++++++ ...l-PrivateEndpointConnectionListResult.json | 22 +++ ...l-PrivateEndpointConnectionProperties.json | 44 +++++ ...del-PrivateLinkServiceConnectionState.json | 44 +++++ .../Operation-Delete.json | 12 ++ .../Operation-Get.json | 14 ++ .../Operation-List.json | 15 ++ .../Operation-Put.json | 18 +++ ...esourceId-PrivateEndpointConnectionId.json | 52 ++++++ .../ResourceId-RedisEnterpriseId.json | 43 +++++ .../Model-PrivateLinkResource.json | 57 +++++++ .../Model-PrivateLinkResourceListResult.json | 22 +++ .../Model-PrivateLinkResourceProperties.json | 52 ++++++ .../Operation-ListByCluster.json | 15 ++ .../ResourceId-RedisEnterpriseId.json | 43 +++++ .../Constant-AccessKeyType.json | 14 ++ .../Constant-AofFrequency.json | 14 ++ .../Constant-ClusteringPolicy.json | 14 ++ .../Constant-CmkIdentityType.json | 14 ++ .../Constant-DeferUpgradeSetting.json | 14 ++ .../Constant-EvictionPolicy.json | 38 +++++ .../RedisEnterprise/Constant-LinkState.json | 26 +++ ...teEndpointConnectionProvisioningState.json | 22 +++ ...rivateEndpointServiceConnectionStatus.json | 18 +++ .../RedisEnterprise/Constant-Protocol.json | 14 ++ .../Constant-ProvisioningState.json | 30 ++++ .../Constant-RdbFrequency.json | 18 +++ .../Constant-ResourceState.json | 62 +++++++ .../RedisEnterprise/Constant-SkuName.json | 42 +++++ .../RedisEnterprise/Constant-TlsVersion.json | 18 +++ .../RedisEnterprise/Model-AccessKeys.json | 31 ++++ .../RedisEnterprise/Model-Cluster.json | 122 ++++++++++++++ .../Model-ClusterProperties.json | 100 ++++++++++++ .../Model-ClusterPropertiesEncryption.json | 18 +++ ...ncryptionCustomerManagedKeyEncryption.json | 31 ++++ ...KeyEncryptionKeyEncryptionKeyIdentity.json | 31 ++++ .../RedisEnterprise/Model-ClusterUpdate.json | 57 +++++++ .../RedisEnterprise/Model-Database.json | 57 +++++++ .../Model-DatabaseProperties.json | 152 ++++++++++++++++++ ...odel-DatabasePropertiesGeoReplication.json | 35 ++++ .../RedisEnterprise/Model-DatabaseUpdate.json | 18 +++ .../Model-ExportClusterParameters.json | 18 +++ .../Model-FlushParameters.json | 22 +++ .../Model-ForceLinkParameters.json | 35 ++++ .../Model-ForceUnlinkParameters.json | 22 +++ .../Model-ImportClusterParameters.json | 22 +++ .../RedisEnterprise/Model-LinkedDatabase.json | 31 ++++ .../RedisEnterprise/Model-Module.json | 44 +++++ .../RedisEnterprise/Model-Persistence.json | 57 +++++++ .../Model-PrivateEndpoint.json | 18 +++ .../Model-PrivateEndpointConnection.json | 57 +++++++ ...l-PrivateEndpointConnectionProperties.json | 44 +++++ ...del-PrivateLinkServiceConnectionState.json | 44 +++++ .../Model-RegenerateKeyParameters.json | 18 +++ .../RedisEnterprise/Model-Sku.json | 31 ++++ .../RedisEnterprise/Operation-Create.json | 19 +++ .../Operation-DatabasesCreate.json | 19 +++ .../Operation-DatabasesDelete.json | 12 ++ .../Operation-DatabasesExport.json | 16 ++ .../Operation-DatabasesFlush.json | 16 ++ ...-DatabasesForceLinkToReplicationGroup.json | 15 ++ .../Operation-DatabasesForceUnlink.json | 16 ++ .../Operation-DatabasesGet.json | 14 ++ .../Operation-DatabasesImport.json | 16 ++ .../Operation-DatabasesListByCluster.json | 16 ++ .../Operation-DatabasesListKeys.json | 15 ++ .../Operation-DatabasesRegenerateKey.json | 20 +++ .../Operation-DatabasesUpdate.json | 19 +++ ...ration-DatabasesUpgradeDBRedisVersion.json | 11 ++ .../RedisEnterprise/Operation-Delete.json | 12 ++ .../RedisEnterprise/Operation-Get.json | 14 ++ .../RedisEnterprise/Operation-List.json | 16 ++ .../Operation-ListByResourceGroup.json | 16 ++ .../RedisEnterprise/Operation-Update.json | 19 +++ .../ResourceId-DatabaseId.json | 52 ++++++ .../ResourceId-RedisEnterpriseId.json | 43 +++++ .../ResourceId-ResourceGroupId.json | 25 +++ .../ResourceId-SubscriptionId.json | 16 ++ 121 files changed, 3596 insertions(+) create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/ApiVersionDefinition.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AccessKeyType.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AofFrequency.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ClusteringPolicy.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-DeferUpgradeSetting.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-EvictionPolicy.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-LinkState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-RdbFrequency.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ResourceState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-AccessKeys.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Database.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseProperties.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabasePropertiesGeoReplication.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseUpdate.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ExportClusterParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-FlushParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceLinkParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceUnlinkParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ImportClusterParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-LinkedDatabase.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Module.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Persistence.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-RegenerateKeyParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Create.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Delete.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Export.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Flush.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceLinkToReplicationGroup.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceUnlink.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Get.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Import.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListByCluster.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListKeys.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-RegenerateKey.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Update.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-UpgradeDBRedisVersion.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-DatabaseId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-RedisEnterpriseId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpoint.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnection.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Delete.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Get.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-List.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Put.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-RedisEnterpriseId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResource.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceListResult.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceProperties.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Operation-ListByCluster.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/ResourceId-RedisEnterpriseId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AccessKeyType.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AofFrequency.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ClusteringPolicy.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-CmkIdentityType.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-DeferUpgradeSetting.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-EvictionPolicy.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-LinkState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointConnectionProvisioningState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointServiceConnectionStatus.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-Protocol.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ProvisioningState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-RdbFrequency.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ResourceState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-SkuName.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-TlsVersion.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-AccessKeys.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Cluster.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterProperties.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryption.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryption.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterUpdate.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Database.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseProperties.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabasePropertiesGeoReplication.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseUpdate.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ExportClusterParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-FlushParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceLinkParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceUnlinkParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ImportClusterParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-LinkedDatabase.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Module.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Persistence.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpoint.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnection.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnectionProperties.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateLinkServiceConnectionState.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-RegenerateKeyParameters.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Sku.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Create.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesCreate.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesDelete.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesExport.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesFlush.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceLinkToReplicationGroup.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceUnlink.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesGet.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesImport.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListByCluster.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListKeys.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesRegenerateKey.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpdate.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpgradeDBRedisVersion.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Delete.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Get.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-List.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-ListByResourceGroup.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Update.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-DatabaseId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-RedisEnterpriseId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-ResourceGroupId.json create mode 100644 api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-SubscriptionId.json diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/ApiVersionDefinition.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/ApiVersionDefinition.json new file mode 100644 index 00000000000..1c9e8ff88f7 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/ApiVersionDefinition.json @@ -0,0 +1,12 @@ +{ + "apiVersion": "2024-06-01-preview", + "isPreview": true, + "generate": true, + "resources": [ + "Databases", + "PrivateEndpointConnections", + "PrivateLinkResources", + "RedisEnterprise" + ], + "source": "Azure/azure-rest-api-specs" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AccessKeyType.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AccessKeyType.json new file mode 100644 index 00000000000..2f788d9aa16 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AccessKeyType.json @@ -0,0 +1,14 @@ +{ + "name": "AccessKeyType", + "type": "String", + "values": [ + { + "key": "Primary", + "value": "Primary" + }, + { + "key": "Secondary", + "value": "Secondary" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AofFrequency.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AofFrequency.json new file mode 100644 index 00000000000..ebfb2514d58 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-AofFrequency.json @@ -0,0 +1,14 @@ +{ + "name": "AofFrequency", + "type": "String", + "values": [ + { + "key": "Always", + "value": "always" + }, + { + "key": "Ones", + "value": "1s" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ClusteringPolicy.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ClusteringPolicy.json new file mode 100644 index 00000000000..a3545583332 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ClusteringPolicy.json @@ -0,0 +1,14 @@ +{ + "name": "ClusteringPolicy", + "type": "String", + "values": [ + { + "key": "EnterpriseCluster", + "value": "EnterpriseCluster" + }, + { + "key": "OSSCluster", + "value": "OSSCluster" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-DeferUpgradeSetting.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-DeferUpgradeSetting.json new file mode 100644 index 00000000000..d388ca50078 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-DeferUpgradeSetting.json @@ -0,0 +1,14 @@ +{ + "name": "DeferUpgradeSetting", + "type": "String", + "values": [ + { + "key": "Deferred", + "value": "Deferred" + }, + { + "key": "NotDeferred", + "value": "NotDeferred" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-EvictionPolicy.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-EvictionPolicy.json new file mode 100644 index 00000000000..ee5367121b7 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-EvictionPolicy.json @@ -0,0 +1,38 @@ +{ + "name": "EvictionPolicy", + "type": "String", + "values": [ + { + "key": "AllKeysLFU", + "value": "AllKeysLFU" + }, + { + "key": "AllKeysLRU", + "value": "AllKeysLRU" + }, + { + "key": "AllKeysRandom", + "value": "AllKeysRandom" + }, + { + "key": "NoEviction", + "value": "NoEviction" + }, + { + "key": "VolatileLFU", + "value": "VolatileLFU" + }, + { + "key": "VolatileLRU", + "value": "VolatileLRU" + }, + { + "key": "VolatileRandom", + "value": "VolatileRandom" + }, + { + "key": "VolatileTTL", + "value": "VolatileTTL" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-LinkState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-LinkState.json new file mode 100644 index 00000000000..450e558a88c --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-LinkState.json @@ -0,0 +1,26 @@ +{ + "name": "LinkState", + "type": "String", + "values": [ + { + "key": "LinkFailed", + "value": "LinkFailed" + }, + { + "key": "Linked", + "value": "Linked" + }, + { + "key": "Linking", + "value": "Linking" + }, + { + "key": "UnlinkFailed", + "value": "UnlinkFailed" + }, + { + "key": "Unlinking", + "value": "Unlinking" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-Protocol.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-Protocol.json new file mode 100644 index 00000000000..a48eff48936 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-Protocol.json @@ -0,0 +1,14 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "Encrypted", + "value": "Encrypted" + }, + { + "key": "Plaintext", + "value": "Plaintext" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ProvisioningState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ProvisioningState.json new file mode 100644 index 00000000000..fc6abfe6523 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ProvisioningState.json @@ -0,0 +1,30 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-RdbFrequency.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-RdbFrequency.json new file mode 100644 index 00000000000..a4cf9f64328 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-RdbFrequency.json @@ -0,0 +1,18 @@ +{ + "name": "RdbFrequency", + "type": "String", + "values": [ + { + "key": "OneTwoh", + "value": "12h" + }, + { + "key": "Oneh", + "value": "1h" + }, + { + "key": "Sixh", + "value": "6h" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ResourceState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ResourceState.json new file mode 100644 index 00000000000..8259d9c4314 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Constant-ResourceState.json @@ -0,0 +1,62 @@ +{ + "name": "ResourceState", + "type": "String", + "values": [ + { + "key": "CreateFailed", + "value": "CreateFailed" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "DeleteFailed", + "value": "DeleteFailed" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "DisableFailed", + "value": "DisableFailed" + }, + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Disabling", + "value": "Disabling" + }, + { + "key": "EnableFailed", + "value": "EnableFailed" + }, + { + "key": "Enabling", + "value": "Enabling" + }, + { + "key": "Running", + "value": "Running" + }, + { + "key": "Scaling", + "value": "Scaling" + }, + { + "key": "ScalingFailed", + "value": "ScalingFailed" + }, + { + "key": "UpdateFailed", + "value": "UpdateFailed" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-AccessKeys.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-AccessKeys.json new file mode 100644 index 00000000000..42116418d90 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-AccessKeys.json @@ -0,0 +1,31 @@ +{ + "name": "AccessKeys", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Database.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Database.json new file mode 100644 index 00000000000..95dd44c6efc --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Database.json @@ -0,0 +1,57 @@ +{ + "name": "Database", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DatabaseProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseProperties.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseProperties.json new file mode 100644 index 00000000000..9f7298fe386 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseProperties.json @@ -0,0 +1,152 @@ +{ + "name": "DatabaseProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientProtocol", + "name": "ClientProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "Protocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clusteringPolicy", + "name": "ClusteringPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClusteringPolicy" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deferUpgrade", + "name": "DeferUpgrade", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeferUpgradeSetting" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "evictionPolicy", + "name": "EvictionPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "EvictionPolicy" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "geoReplication", + "name": "GeoReplication", + "objectDefinition": { + "type": "Reference", + "referenceName": "DatabasePropertiesGeoReplication" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "modules", + "name": "Modules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Module" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "persistence", + "name": "Persistence", + "objectDefinition": { + "type": "Reference", + "referenceName": "Persistence" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "port", + "name": "Port", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "redisVersion", + "name": "RedisVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabasePropertiesGeoReplication.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabasePropertiesGeoReplication.json new file mode 100644 index 00000000000..e31800127db --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabasePropertiesGeoReplication.json @@ -0,0 +1,35 @@ +{ + "name": "DatabasePropertiesGeoReplication", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupNickname", + "name": "GroupNickname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "linkedDatabases", + "name": "LinkedDatabases", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "LinkedDatabase" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseUpdate.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseUpdate.json new file mode 100644 index 00000000000..657d4ad2e81 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-DatabaseUpdate.json @@ -0,0 +1,18 @@ +{ + "name": "DatabaseUpdate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DatabaseProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ExportClusterParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ExportClusterParameters.json new file mode 100644 index 00000000000..f6939568c0b --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ExportClusterParameters.json @@ -0,0 +1,18 @@ +{ + "name": "ExportClusterParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sasUri", + "name": "SasUri", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-FlushParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-FlushParameters.json new file mode 100644 index 00000000000..46fcded4d45 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-FlushParameters.json @@ -0,0 +1,22 @@ +{ + "name": "FlushParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ids", + "name": "Ids", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceLinkParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceLinkParameters.json new file mode 100644 index 00000000000..91b1bdca9ec --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceLinkParameters.json @@ -0,0 +1,35 @@ +{ + "name": "ForceLinkParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupNickname", + "name": "GroupNickname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "linkedDatabases", + "name": "LinkedDatabases", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "LinkedDatabase" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceUnlinkParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceUnlinkParameters.json new file mode 100644 index 00000000000..4dc50cbebb9 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ForceUnlinkParameters.json @@ -0,0 +1,22 @@ +{ + "name": "ForceUnlinkParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ids", + "name": "Ids", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ImportClusterParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ImportClusterParameters.json new file mode 100644 index 00000000000..9807c52dc51 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-ImportClusterParameters.json @@ -0,0 +1,22 @@ +{ + "name": "ImportClusterParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sasUris", + "name": "SasUris", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-LinkedDatabase.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-LinkedDatabase.json new file mode 100644 index 00000000000..b863b9d7733 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-LinkedDatabase.json @@ -0,0 +1,31 @@ +{ + "name": "LinkedDatabase", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "LinkState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Module.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Module.json new file mode 100644 index 00000000000..72f78b25a90 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Module.json @@ -0,0 +1,44 @@ +{ + "name": "Module", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "args", + "name": "Args", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "version", + "name": "Version", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Persistence.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Persistence.json new file mode 100644 index 00000000000..d760d4c23f1 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-Persistence.json @@ -0,0 +1,57 @@ +{ + "name": "Persistence", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "aofEnabled", + "name": "AofEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "aofFrequency", + "name": "AofFrequency", + "objectDefinition": { + "type": "Reference", + "referenceName": "AofFrequency" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rdbEnabled", + "name": "RdbEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rdbFrequency", + "name": "RdbFrequency", + "objectDefinition": { + "type": "Reference", + "referenceName": "RdbFrequency" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-RegenerateKeyParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-RegenerateKeyParameters.json new file mode 100644 index 00000000000..95416690ff4 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Model-RegenerateKeyParameters.json @@ -0,0 +1,18 @@ +{ + "name": "RegenerateKeyParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyType", + "name": "KeyType", + "objectDefinition": { + "type": "Reference", + "referenceName": "AccessKeyType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Create.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Create.json new file mode 100644 index 00000000000..ca26333469c --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Create.json @@ -0,0 +1,19 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "Database" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Database" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Delete.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Delete.json new file mode 100644 index 00000000000..e0a2214f3ee --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "DatabaseId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Export.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Export.json new file mode 100644 index 00000000000..766994894c9 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Export.json @@ -0,0 +1,16 @@ +{ + "name": "Export", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ExportClusterParameters" + }, + "uriSuffix": "/export" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Flush.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Flush.json new file mode 100644 index 00000000000..a1582da2502 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Flush.json @@ -0,0 +1,16 @@ +{ + "name": "Flush", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "FlushParameters" + }, + "uriSuffix": "/flush" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceLinkToReplicationGroup.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceLinkToReplicationGroup.json new file mode 100644 index 00000000000..0d8ac22bcd9 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceLinkToReplicationGroup.json @@ -0,0 +1,15 @@ +{ + "name": "ForceLinkToReplicationGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ForceLinkParameters" + }, + "uriSuffix": "/forceLinkToReplicationGroup" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceUnlink.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceUnlink.json new file mode 100644 index 00000000000..8093124676b --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ForceUnlink.json @@ -0,0 +1,16 @@ +{ + "name": "ForceUnlink", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ForceUnlinkParameters" + }, + "uriSuffix": "/forceUnlink" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Get.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Get.json new file mode 100644 index 00000000000..6f6850f8131 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "DatabaseId", + "responseObject": { + "type": "Reference", + "referenceName": "Database" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Import.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Import.json new file mode 100644 index 00000000000..1ac91c5fd8a --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Import.json @@ -0,0 +1,16 @@ +{ + "name": "Import", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ImportClusterParameters" + }, + "uriSuffix": "/import" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListByCluster.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListByCluster.json new file mode 100644 index 00000000000..fc93c771a18 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListByCluster.json @@ -0,0 +1,16 @@ +{ + "name": "ListByCluster", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RedisEnterpriseId", + "responseObject": { + "type": "Reference", + "referenceName": "Database" + }, + "uriSuffix": "/databases" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListKeys.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListKeys.json new file mode 100644 index 00000000000..017763a609d --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-ListKeys.json @@ -0,0 +1,15 @@ +{ + "name": "ListKeys", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "responseObject": { + "type": "Reference", + "referenceName": "AccessKeys" + }, + "uriSuffix": "/listKeys" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-RegenerateKey.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-RegenerateKey.json new file mode 100644 index 00000000000..c4ac2eac6b9 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-RegenerateKey.json @@ -0,0 +1,20 @@ +{ + "name": "RegenerateKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "RegenerateKeyParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AccessKeys" + }, + "uriSuffix": "/regenerateKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Update.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Update.json new file mode 100644 index 00000000000..b97a8ba4060 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "DatabaseUpdate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Database" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-UpgradeDBRedisVersion.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-UpgradeDBRedisVersion.json new file mode 100644 index 00000000000..ae5f813cce5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/Operation-UpgradeDBRedisVersion.json @@ -0,0 +1,11 @@ +{ + "name": "UpgradeDBRedisVersion", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "uriSuffix": "/upgradeDBRedisVersion" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-DatabaseId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-DatabaseId.json new file mode 100644 index 00000000000..08f52572d26 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-DatabaseId.json @@ -0,0 +1,52 @@ +{ + "name": "DatabaseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{redisEnterpriseName}/databases/{databaseName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCache", + "type": "ResourceProvider", + "value": "Microsoft.Cache" + }, + { + "name": "staticRedisEnterprise", + "type": "Static", + "value": "redisEnterprise" + }, + { + "name": "redisEnterpriseName", + "type": "UserSpecified" + }, + { + "name": "staticDatabases", + "type": "Static", + "value": "databases" + }, + { + "name": "databaseName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-RedisEnterpriseId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-RedisEnterpriseId.json new file mode 100644 index 00000000000..eb8b41f21e5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/Databases/ResourceId-RedisEnterpriseId.json @@ -0,0 +1,43 @@ +{ + "name": "RedisEnterpriseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{redisEnterpriseName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCache", + "type": "ResourceProvider", + "value": "Microsoft.Cache" + }, + { + "name": "staticRedisEnterprise", + "type": "Static", + "value": "redisEnterprise" + }, + { + "name": "redisEnterpriseName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json new file mode 100644 index 00000000000..210b0540d01 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointConnectionProvisioningState.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json new file mode 100644 index 00000000000..5deff56fd45 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Constant-PrivateEndpointServiceConnectionStatus.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointServiceConnectionStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpoint.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpoint.json new file mode 100644 index 00000000000..94d38d15c12 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpoint.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnection.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnection.json new file mode 100644 index 00000000000..b62437ad0bf --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnection.json @@ -0,0 +1,57 @@ +{ + "name": "PrivateEndpointConnection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json new file mode 100644 index 00000000000..d069a352b5a --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionListResult.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionListResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json new file mode 100644 index 00000000000..42a48b3b367 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateEndpointConnectionProperties.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateEndpointConnectionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpoint", + "name": "PrivateEndpoint", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpoint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json new file mode 100644 index 00000000000..6c33dde96cb --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Model-PrivateLinkServiceConnectionState.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateLinkServiceConnectionState", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionsRequired", + "name": "ActionsRequired", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointServiceConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Delete.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Delete.json new file mode 100644 index 00000000000..ee2ceb857ea --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "PrivateEndpointConnectionId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Get.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Get.json new file mode 100644 index 00000000000..eb0efaa3c02 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "PrivateEndpointConnectionId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-List.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-List.json new file mode 100644 index 00000000000..40b96749673 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-List.json @@ -0,0 +1,15 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RedisEnterpriseId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionListResult" + }, + "uriSuffix": "/privateEndpointConnections" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Put.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Put.json new file mode 100644 index 00000000000..c32fb3d3404 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/Operation-Put.json @@ -0,0 +1,18 @@ +{ + "name": "Put", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "PrivateEndpointConnectionId", + "requestObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + }, + "responseObject": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json new file mode 100644 index 00000000000..3f6aa001e37 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-PrivateEndpointConnectionId.json @@ -0,0 +1,52 @@ +{ + "name": "PrivateEndpointConnectionId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{redisEnterpriseName}/privateEndpointConnections/{privateEndpointConnectionName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCache", + "type": "ResourceProvider", + "value": "Microsoft.Cache" + }, + { + "name": "staticRedisEnterprise", + "type": "Static", + "value": "redisEnterprise" + }, + { + "name": "redisEnterpriseName", + "type": "UserSpecified" + }, + { + "name": "staticPrivateEndpointConnections", + "type": "Static", + "value": "privateEndpointConnections" + }, + { + "name": "privateEndpointConnectionName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-RedisEnterpriseId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-RedisEnterpriseId.json new file mode 100644 index 00000000000..eb8b41f21e5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateEndpointConnections/ResourceId-RedisEnterpriseId.json @@ -0,0 +1,43 @@ +{ + "name": "RedisEnterpriseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{redisEnterpriseName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCache", + "type": "ResourceProvider", + "value": "Microsoft.Cache" + }, + { + "name": "staticRedisEnterprise", + "type": "Static", + "value": "redisEnterprise" + }, + { + "name": "redisEnterpriseName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResource.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResource.json new file mode 100644 index 00000000000..cd089270a61 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResource.json @@ -0,0 +1,57 @@ +{ + "name": "PrivateLinkResource", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkResourceProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceListResult.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceListResult.json new file mode 100644 index 00000000000..1e1d2e575df --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceListResult.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateLinkResourceListResult", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "value", + "name": "Value", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PrivateLinkResource" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceProperties.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceProperties.json new file mode 100644 index 00000000000..77b9aad7e67 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Model-PrivateLinkResourceProperties.json @@ -0,0 +1,52 @@ +{ + "name": "PrivateLinkResourceProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupId", + "name": "GroupId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requiredMembers", + "name": "RequiredMembers", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "requiredZoneNames", + "name": "RequiredZoneNames", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Operation-ListByCluster.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Operation-ListByCluster.json new file mode 100644 index 00000000000..51ec38fdb87 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/Operation-ListByCluster.json @@ -0,0 +1,15 @@ +{ + "name": "ListByCluster", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RedisEnterpriseId", + "responseObject": { + "type": "Reference", + "referenceName": "PrivateLinkResourceListResult" + }, + "uriSuffix": "/privateLinkResources" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/ResourceId-RedisEnterpriseId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/ResourceId-RedisEnterpriseId.json new file mode 100644 index 00000000000..eb8b41f21e5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/PrivateLinkResources/ResourceId-RedisEnterpriseId.json @@ -0,0 +1,43 @@ +{ + "name": "RedisEnterpriseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{redisEnterpriseName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCache", + "type": "ResourceProvider", + "value": "Microsoft.Cache" + }, + { + "name": "staticRedisEnterprise", + "type": "Static", + "value": "redisEnterprise" + }, + { + "name": "redisEnterpriseName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AccessKeyType.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AccessKeyType.json new file mode 100644 index 00000000000..2f788d9aa16 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AccessKeyType.json @@ -0,0 +1,14 @@ +{ + "name": "AccessKeyType", + "type": "String", + "values": [ + { + "key": "Primary", + "value": "Primary" + }, + { + "key": "Secondary", + "value": "Secondary" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AofFrequency.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AofFrequency.json new file mode 100644 index 00000000000..ebfb2514d58 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-AofFrequency.json @@ -0,0 +1,14 @@ +{ + "name": "AofFrequency", + "type": "String", + "values": [ + { + "key": "Always", + "value": "always" + }, + { + "key": "Ones", + "value": "1s" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ClusteringPolicy.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ClusteringPolicy.json new file mode 100644 index 00000000000..a3545583332 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ClusteringPolicy.json @@ -0,0 +1,14 @@ +{ + "name": "ClusteringPolicy", + "type": "String", + "values": [ + { + "key": "EnterpriseCluster", + "value": "EnterpriseCluster" + }, + { + "key": "OSSCluster", + "value": "OSSCluster" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-CmkIdentityType.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-CmkIdentityType.json new file mode 100644 index 00000000000..35a07d787e2 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-CmkIdentityType.json @@ -0,0 +1,14 @@ +{ + "name": "CmkIdentityType", + "type": "String", + "values": [ + { + "key": "SystemAssignedIdentity", + "value": "systemAssignedIdentity" + }, + { + "key": "UserAssignedIdentity", + "value": "userAssignedIdentity" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-DeferUpgradeSetting.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-DeferUpgradeSetting.json new file mode 100644 index 00000000000..d388ca50078 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-DeferUpgradeSetting.json @@ -0,0 +1,14 @@ +{ + "name": "DeferUpgradeSetting", + "type": "String", + "values": [ + { + "key": "Deferred", + "value": "Deferred" + }, + { + "key": "NotDeferred", + "value": "NotDeferred" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-EvictionPolicy.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-EvictionPolicy.json new file mode 100644 index 00000000000..ee5367121b7 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-EvictionPolicy.json @@ -0,0 +1,38 @@ +{ + "name": "EvictionPolicy", + "type": "String", + "values": [ + { + "key": "AllKeysLFU", + "value": "AllKeysLFU" + }, + { + "key": "AllKeysLRU", + "value": "AllKeysLRU" + }, + { + "key": "AllKeysRandom", + "value": "AllKeysRandom" + }, + { + "key": "NoEviction", + "value": "NoEviction" + }, + { + "key": "VolatileLFU", + "value": "VolatileLFU" + }, + { + "key": "VolatileLRU", + "value": "VolatileLRU" + }, + { + "key": "VolatileRandom", + "value": "VolatileRandom" + }, + { + "key": "VolatileTTL", + "value": "VolatileTTL" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-LinkState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-LinkState.json new file mode 100644 index 00000000000..450e558a88c --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-LinkState.json @@ -0,0 +1,26 @@ +{ + "name": "LinkState", + "type": "String", + "values": [ + { + "key": "LinkFailed", + "value": "LinkFailed" + }, + { + "key": "Linked", + "value": "Linked" + }, + { + "key": "Linking", + "value": "Linking" + }, + { + "key": "UnlinkFailed", + "value": "UnlinkFailed" + }, + { + "key": "Unlinking", + "value": "Unlinking" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointConnectionProvisioningState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointConnectionProvisioningState.json new file mode 100644 index 00000000000..210b0540d01 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointConnectionProvisioningState.json @@ -0,0 +1,22 @@ +{ + "name": "PrivateEndpointConnectionProvisioningState", + "type": "String", + "values": [ + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointServiceConnectionStatus.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointServiceConnectionStatus.json new file mode 100644 index 00000000000..5deff56fd45 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-PrivateEndpointServiceConnectionStatus.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpointServiceConnectionStatus", + "type": "String", + "values": [ + { + "key": "Approved", + "value": "Approved" + }, + { + "key": "Pending", + "value": "Pending" + }, + { + "key": "Rejected", + "value": "Rejected" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-Protocol.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-Protocol.json new file mode 100644 index 00000000000..a48eff48936 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-Protocol.json @@ -0,0 +1,14 @@ +{ + "name": "Protocol", + "type": "String", + "values": [ + { + "key": "Encrypted", + "value": "Encrypted" + }, + { + "key": "Plaintext", + "value": "Plaintext" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ProvisioningState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ProvisioningState.json new file mode 100644 index 00000000000..fc6abfe6523 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ProvisioningState.json @@ -0,0 +1,30 @@ +{ + "name": "ProvisioningState", + "type": "String", + "values": [ + { + "key": "Canceled", + "value": "Canceled" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "Failed", + "value": "Failed" + }, + { + "key": "Succeeded", + "value": "Succeeded" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-RdbFrequency.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-RdbFrequency.json new file mode 100644 index 00000000000..a4cf9f64328 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-RdbFrequency.json @@ -0,0 +1,18 @@ +{ + "name": "RdbFrequency", + "type": "String", + "values": [ + { + "key": "OneTwoh", + "value": "12h" + }, + { + "key": "Oneh", + "value": "1h" + }, + { + "key": "Sixh", + "value": "6h" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ResourceState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ResourceState.json new file mode 100644 index 00000000000..8259d9c4314 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-ResourceState.json @@ -0,0 +1,62 @@ +{ + "name": "ResourceState", + "type": "String", + "values": [ + { + "key": "CreateFailed", + "value": "CreateFailed" + }, + { + "key": "Creating", + "value": "Creating" + }, + { + "key": "DeleteFailed", + "value": "DeleteFailed" + }, + { + "key": "Deleting", + "value": "Deleting" + }, + { + "key": "DisableFailed", + "value": "DisableFailed" + }, + { + "key": "Disabled", + "value": "Disabled" + }, + { + "key": "Disabling", + "value": "Disabling" + }, + { + "key": "EnableFailed", + "value": "EnableFailed" + }, + { + "key": "Enabling", + "value": "Enabling" + }, + { + "key": "Running", + "value": "Running" + }, + { + "key": "Scaling", + "value": "Scaling" + }, + { + "key": "ScalingFailed", + "value": "ScalingFailed" + }, + { + "key": "UpdateFailed", + "value": "UpdateFailed" + }, + { + "key": "Updating", + "value": "Updating" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-SkuName.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-SkuName.json new file mode 100644 index 00000000000..f182250705f --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-SkuName.json @@ -0,0 +1,42 @@ +{ + "name": "SkuName", + "type": "String", + "values": [ + { + "key": "EnterpriseEFive", + "value": "Enterprise_E5" + }, + { + "key": "EnterpriseEFiveZero", + "value": "Enterprise_E50" + }, + { + "key": "EnterpriseEOne", + "value": "Enterprise_E1" + }, + { + "key": "EnterpriseEOneHundred", + "value": "Enterprise_E100" + }, + { + "key": "EnterpriseEOneZero", + "value": "Enterprise_E10" + }, + { + "key": "EnterpriseETwoZero", + "value": "Enterprise_E20" + }, + { + "key": "EnterpriseFlashFOneFiveHundred", + "value": "EnterpriseFlash_F1500" + }, + { + "key": "EnterpriseFlashFSevenHundred", + "value": "EnterpriseFlash_F700" + }, + { + "key": "EnterpriseFlashFThreeHundred", + "value": "EnterpriseFlash_F300" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-TlsVersion.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-TlsVersion.json new file mode 100644 index 00000000000..501aeb2d9ba --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Constant-TlsVersion.json @@ -0,0 +1,18 @@ +{ + "name": "TlsVersion", + "type": "String", + "values": [ + { + "key": "OnePointOne", + "value": "1.1" + }, + { + "key": "OnePointTwo", + "value": "1.2" + }, + { + "key": "OnePointZero", + "value": "1.0" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-AccessKeys.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-AccessKeys.json new file mode 100644 index 00000000000..42116418d90 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-AccessKeys.json @@ -0,0 +1,31 @@ +{ + "name": "AccessKeys", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "primaryKey", + "name": "PrimaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "secondaryKey", + "name": "SecondaryKey", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Cluster.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Cluster.json new file mode 100644 index 00000000000..4425211c4f5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Cluster.json @@ -0,0 +1,122 @@ +{ + "name": "Cluster", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "location", + "name": "Location", + "objectDefinition": { + "type": "Location", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClusterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "Sku" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "zones", + "name": "Zones", + "objectDefinition": { + "type": "Zones", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterProperties.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterProperties.json new file mode 100644 index 00000000000..3b08abdfbfe --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterProperties.json @@ -0,0 +1,100 @@ +{ + "name": "ClusterProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "encryption", + "name": "Encryption", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClusterPropertiesEncryption" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "hostName", + "name": "HostName", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "minimumTlsVersion", + "name": "MinimumTlsVersion", + "objectDefinition": { + "type": "Reference", + "referenceName": "TlsVersion" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpointConnections", + "name": "PrivateEndpointConnections", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "PrivateEndpointConnection" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "redisVersion", + "name": "RedisVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryption.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryption.json new file mode 100644 index 00000000000..a029356af1d --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryption.json @@ -0,0 +1,18 @@ +{ + "name": "ClusterPropertiesEncryption", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "customerManagedKeyEncryption", + "name": "CustomerManagedKeyEncryption", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClusterPropertiesEncryptionCustomerManagedKeyEncryption" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryption.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryption.json new file mode 100644 index 00000000000..ff18a10d8b9 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryption.json @@ -0,0 +1,31 @@ +{ + "name": "ClusterPropertiesEncryptionCustomerManagedKeyEncryption", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyEncryptionKeyIdentity", + "name": "KeyEncryptionKeyIdentity", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyEncryptionKeyUrl", + "name": "KeyEncryptionKeyUrl", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity.json new file mode 100644 index 00000000000..42bf49a4811 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity.json @@ -0,0 +1,31 @@ +{ + "name": "ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentity", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identityType", + "name": "IdentityType", + "objectDefinition": { + "type": "Reference", + "referenceName": "CmkIdentityType" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "userAssignedIdentityResourceId", + "name": "UserAssignedIdentityResourceId", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterUpdate.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterUpdate.json new file mode 100644 index 00000000000..804af450fd0 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ClusterUpdate.json @@ -0,0 +1,57 @@ +{ + "name": "ClusterUpdate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "identity", + "name": "Identity", + "objectDefinition": { + "type": "SystemAndUserAssignedIdentityMap", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClusterProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sku", + "name": "Sku", + "objectDefinition": { + "type": "Reference", + "referenceName": "Sku" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "tags", + "name": "Tags", + "objectDefinition": { + "type": "Tags", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Database.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Database.json new file mode 100644 index 00000000000..95dd44c6efc --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Database.json @@ -0,0 +1,57 @@ +{ + "name": "Database", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DatabaseProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseProperties.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseProperties.json new file mode 100644 index 00000000000..9f7298fe386 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseProperties.json @@ -0,0 +1,152 @@ +{ + "name": "DatabaseProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clientProtocol", + "name": "ClientProtocol", + "objectDefinition": { + "type": "Reference", + "referenceName": "Protocol" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "clusteringPolicy", + "name": "ClusteringPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "ClusteringPolicy" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "deferUpgrade", + "name": "DeferUpgrade", + "objectDefinition": { + "type": "Reference", + "referenceName": "DeferUpgradeSetting" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "evictionPolicy", + "name": "EvictionPolicy", + "objectDefinition": { + "type": "Reference", + "referenceName": "EvictionPolicy" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "geoReplication", + "name": "GeoReplication", + "objectDefinition": { + "type": "Reference", + "referenceName": "DatabasePropertiesGeoReplication" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "modules", + "name": "Modules", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "Module" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "persistence", + "name": "Persistence", + "objectDefinition": { + "type": "Reference", + "referenceName": "Persistence" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "port", + "name": "Port", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "redisVersion", + "name": "RedisVersion", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "resourceState", + "name": "ResourceState", + "objectDefinition": { + "type": "Reference", + "referenceName": "ResourceState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabasePropertiesGeoReplication.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabasePropertiesGeoReplication.json new file mode 100644 index 00000000000..e31800127db --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabasePropertiesGeoReplication.json @@ -0,0 +1,35 @@ +{ + "name": "DatabasePropertiesGeoReplication", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupNickname", + "name": "GroupNickname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "linkedDatabases", + "name": "LinkedDatabases", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "LinkedDatabase" + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseUpdate.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseUpdate.json new file mode 100644 index 00000000000..657d4ad2e81 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-DatabaseUpdate.json @@ -0,0 +1,18 @@ +{ + "name": "DatabaseUpdate", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "DatabaseProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ExportClusterParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ExportClusterParameters.json new file mode 100644 index 00000000000..f6939568c0b --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ExportClusterParameters.json @@ -0,0 +1,18 @@ +{ + "name": "ExportClusterParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sasUri", + "name": "SasUri", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-FlushParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-FlushParameters.json new file mode 100644 index 00000000000..46fcded4d45 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-FlushParameters.json @@ -0,0 +1,22 @@ +{ + "name": "FlushParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ids", + "name": "Ids", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceLinkParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceLinkParameters.json new file mode 100644 index 00000000000..91b1bdca9ec --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceLinkParameters.json @@ -0,0 +1,35 @@ +{ + "name": "ForceLinkParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "groupNickname", + "name": "GroupNickname", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "linkedDatabases", + "name": "LinkedDatabases", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "Reference", + "referenceName": "LinkedDatabase" + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceUnlinkParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceUnlinkParameters.json new file mode 100644 index 00000000000..4dc50cbebb9 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ForceUnlinkParameters.json @@ -0,0 +1,22 @@ +{ + "name": "ForceUnlinkParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "ids", + "name": "Ids", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ImportClusterParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ImportClusterParameters.json new file mode 100644 index 00000000000..9807c52dc51 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-ImportClusterParameters.json @@ -0,0 +1,22 @@ +{ + "name": "ImportClusterParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "sasUris", + "name": "SasUris", + "objectDefinition": { + "type": "List", + "referenceName": null, + "nestedItem": { + "type": "String", + "referenceName": null + } + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-LinkedDatabase.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-LinkedDatabase.json new file mode 100644 index 00000000000..b863b9d7733 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-LinkedDatabase.json @@ -0,0 +1,31 @@ +{ + "name": "LinkedDatabase", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "state", + "name": "State", + "objectDefinition": { + "type": "Reference", + "referenceName": "LinkState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Module.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Module.json new file mode 100644 index 00000000000..72f78b25a90 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Module.json @@ -0,0 +1,44 @@ +{ + "name": "Module", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "args", + "name": "Args", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "version", + "name": "Version", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Persistence.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Persistence.json new file mode 100644 index 00000000000..d760d4c23f1 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Persistence.json @@ -0,0 +1,57 @@ +{ + "name": "Persistence", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "aofEnabled", + "name": "AofEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "aofFrequency", + "name": "AofFrequency", + "objectDefinition": { + "type": "Reference", + "referenceName": "AofFrequency" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rdbEnabled", + "name": "RdbEnabled", + "objectDefinition": { + "type": "Boolean", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "rdbFrequency", + "name": "RdbFrequency", + "objectDefinition": { + "type": "Reference", + "referenceName": "RdbFrequency" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpoint.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpoint.json new file mode 100644 index 00000000000..94d38d15c12 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpoint.json @@ -0,0 +1,18 @@ +{ + "name": "PrivateEndpoint", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnection.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnection.json new file mode 100644 index 00000000000..b62437ad0bf --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnection.json @@ -0,0 +1,57 @@ +{ + "name": "PrivateEndpointConnection", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "id", + "name": "Id", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "properties", + "name": "Properties", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProperties" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "type", + "name": "Type", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnectionProperties.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnectionProperties.json new file mode 100644 index 00000000000..42a48b3b367 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateEndpointConnectionProperties.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateEndpointConnectionProperties", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateEndpoint", + "name": "PrivateEndpoint", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpoint" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "privateLinkServiceConnectionState", + "name": "PrivateLinkServiceConnectionState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateLinkServiceConnectionState" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "provisioningState", + "name": "ProvisioningState", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointConnectionProvisioningState" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateLinkServiceConnectionState.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateLinkServiceConnectionState.json new file mode 100644 index 00000000000..6c33dde96cb --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-PrivateLinkServiceConnectionState.json @@ -0,0 +1,44 @@ +{ + "name": "PrivateLinkServiceConnectionState", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "actionsRequired", + "name": "ActionsRequired", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "description", + "name": "Description", + "objectDefinition": { + "type": "String", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "status", + "name": "Status", + "objectDefinition": { + "type": "Reference", + "referenceName": "PrivateEndpointServiceConnectionStatus" + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-RegenerateKeyParameters.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-RegenerateKeyParameters.json new file mode 100644 index 00000000000..95416690ff4 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-RegenerateKeyParameters.json @@ -0,0 +1,18 @@ +{ + "name": "RegenerateKeyParameters", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "keyType", + "name": "KeyType", + "objectDefinition": { + "type": "Reference", + "referenceName": "AccessKeyType" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Sku.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Sku.json new file mode 100644 index 00000000000..e79567db52a --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Model-Sku.json @@ -0,0 +1,31 @@ +{ + "name": "Sku", + "fields": [ + { + "containsDiscriminatedTypeValue": false, + "jsonName": "capacity", + "name": "Capacity", + "objectDefinition": { + "type": "Integer", + "referenceName": null + }, + "optional": true, + "readOnly": false, + "required": false, + "sensitive": false + }, + { + "containsDiscriminatedTypeValue": false, + "jsonName": "name", + "name": "Name", + "objectDefinition": { + "type": "Reference", + "referenceName": "SkuName" + }, + "optional": false, + "readOnly": false, + "required": true, + "sensitive": false + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Create.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Create.json new file mode 100644 index 00000000000..b9dc48dbb13 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Create.json @@ -0,0 +1,19 @@ +{ + "name": "Create", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "RedisEnterpriseId", + "requestObject": { + "type": "Reference", + "referenceName": "Cluster" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Cluster" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesCreate.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesCreate.json new file mode 100644 index 00000000000..46066e928b5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesCreate.json @@ -0,0 +1,19 @@ +{ + "name": "DatabasesCreate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 201 + ], + "longRunning": true, + "httpMethod": "PUT", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "Database" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Database" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesDelete.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesDelete.json new file mode 100644 index 00000000000..6216a05d88e --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesDelete.json @@ -0,0 +1,12 @@ +{ + "name": "DatabasesDelete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "DatabaseId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesExport.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesExport.json new file mode 100644 index 00000000000..495d01d30bd --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesExport.json @@ -0,0 +1,16 @@ +{ + "name": "DatabasesExport", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ExportClusterParameters" + }, + "uriSuffix": "/export" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesFlush.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesFlush.json new file mode 100644 index 00000000000..ee1b2c381bd --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesFlush.json @@ -0,0 +1,16 @@ +{ + "name": "DatabasesFlush", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "FlushParameters" + }, + "uriSuffix": "/flush" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceLinkToReplicationGroup.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceLinkToReplicationGroup.json new file mode 100644 index 00000000000..c6a5416efa5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceLinkToReplicationGroup.json @@ -0,0 +1,15 @@ +{ + "name": "DatabasesForceLinkToReplicationGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ForceLinkParameters" + }, + "uriSuffix": "/forceLinkToReplicationGroup" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceUnlink.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceUnlink.json new file mode 100644 index 00000000000..5c769ec62b2 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesForceUnlink.json @@ -0,0 +1,16 @@ +{ + "name": "DatabasesForceUnlink", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ForceUnlinkParameters" + }, + "uriSuffix": "/forceUnlink" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesGet.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesGet.json new file mode 100644 index 00000000000..19114eeb745 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesGet.json @@ -0,0 +1,14 @@ +{ + "name": "DatabasesGet", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "DatabaseId", + "responseObject": { + "type": "Reference", + "referenceName": "Database" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesImport.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesImport.json new file mode 100644 index 00000000000..90d9aec0481 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesImport.json @@ -0,0 +1,16 @@ +{ + "name": "DatabasesImport", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "ImportClusterParameters" + }, + "uriSuffix": "/import" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListByCluster.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListByCluster.json new file mode 100644 index 00000000000..7ddcc2068f6 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListByCluster.json @@ -0,0 +1,16 @@ +{ + "name": "DatabasesListByCluster", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RedisEnterpriseId", + "responseObject": { + "type": "Reference", + "referenceName": "Database" + }, + "uriSuffix": "/databases" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListKeys.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListKeys.json new file mode 100644 index 00000000000..01f4ca122f7 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesListKeys.json @@ -0,0 +1,15 @@ +{ + "name": "DatabasesListKeys", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "responseObject": { + "type": "Reference", + "referenceName": "AccessKeys" + }, + "uriSuffix": "/listKeys" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesRegenerateKey.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesRegenerateKey.json new file mode 100644 index 00000000000..ee13de1f537 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesRegenerateKey.json @@ -0,0 +1,20 @@ +{ + "name": "DatabasesRegenerateKey", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "RegenerateKeyParameters" + }, + "responseObject": { + "type": "Reference", + "referenceName": "AccessKeys" + }, + "uriSuffix": "/regenerateKey" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpdate.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpdate.json new file mode 100644 index 00000000000..35ac412dbba --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpdate.json @@ -0,0 +1,19 @@ +{ + "name": "DatabasesUpdate", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "DatabaseId", + "requestObject": { + "type": "Reference", + "referenceName": "DatabaseUpdate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Database" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpgradeDBRedisVersion.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpgradeDBRedisVersion.json new file mode 100644 index 00000000000..a71558b17d3 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-DatabasesUpgradeDBRedisVersion.json @@ -0,0 +1,11 @@ +{ + "name": "DatabasesUpgradeDBRedisVersion", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 202 + ], + "longRunning": true, + "httpMethod": "POST", + "resourceIdName": "DatabaseId", + "uriSuffix": "/upgradeDBRedisVersion" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Delete.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Delete.json new file mode 100644 index 00000000000..de724d23e29 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Delete.json @@ -0,0 +1,12 @@ +{ + "name": "Delete", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202, + 204 + ], + "longRunning": true, + "httpMethod": "DELETE", + "resourceIdName": "RedisEnterpriseId" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Get.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Get.json new file mode 100644 index 00000000000..f492a422e70 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Get.json @@ -0,0 +1,14 @@ +{ + "name": "Get", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "RedisEnterpriseId", + "responseObject": { + "type": "Reference", + "referenceName": "Cluster" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-List.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-List.json new file mode 100644 index 00000000000..68c6c0c8547 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-List.json @@ -0,0 +1,16 @@ +{ + "name": "List", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "SubscriptionId", + "responseObject": { + "type": "Reference", + "referenceName": "Cluster" + }, + "uriSuffix": "/providers/Microsoft.Cache/redisEnterprise" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-ListByResourceGroup.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-ListByResourceGroup.json new file mode 100644 index 00000000000..0f01e6f44ec --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-ListByResourceGroup.json @@ -0,0 +1,16 @@ +{ + "name": "ListByResourceGroup", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200 + ], + "fieldContainingPaginationDetails": "nextLink", + "longRunning": false, + "httpMethod": "GET", + "resourceIdName": "ResourceGroupId", + "responseObject": { + "type": "Reference", + "referenceName": "Cluster" + }, + "uriSuffix": "/providers/Microsoft.Cache/redisEnterprise" +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Update.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Update.json new file mode 100644 index 00000000000..6afac1d5ac4 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/Operation-Update.json @@ -0,0 +1,19 @@ +{ + "name": "Update", + "contentType": "application/json; charset=utf-8", + "expectedStatusCodes": [ + 200, + 202 + ], + "longRunning": true, + "httpMethod": "PATCH", + "resourceIdName": "RedisEnterpriseId", + "requestObject": { + "type": "Reference", + "referenceName": "ClusterUpdate" + }, + "responseObject": { + "type": "Reference", + "referenceName": "Cluster" + } +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-DatabaseId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-DatabaseId.json new file mode 100644 index 00000000000..08f52572d26 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-DatabaseId.json @@ -0,0 +1,52 @@ +{ + "name": "DatabaseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{redisEnterpriseName}/databases/{databaseName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCache", + "type": "ResourceProvider", + "value": "Microsoft.Cache" + }, + { + "name": "staticRedisEnterprise", + "type": "Static", + "value": "redisEnterprise" + }, + { + "name": "redisEnterpriseName", + "type": "UserSpecified" + }, + { + "name": "staticDatabases", + "type": "Static", + "value": "databases" + }, + { + "name": "databaseName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-RedisEnterpriseId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-RedisEnterpriseId.json new file mode 100644 index 00000000000..eb8b41f21e5 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-RedisEnterpriseId.json @@ -0,0 +1,43 @@ +{ + "name": "RedisEnterpriseId", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{redisEnterpriseName}", + "segments": [ + { + "name": "staticSubscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "staticResourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + }, + { + "name": "staticProviders", + "type": "Static", + "value": "providers" + }, + { + "name": "staticMicrosoftCache", + "type": "ResourceProvider", + "value": "Microsoft.Cache" + }, + { + "name": "staticRedisEnterprise", + "type": "Static", + "value": "redisEnterprise" + }, + { + "name": "redisEnterpriseName", + "type": "UserSpecified" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-ResourceGroupId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-ResourceGroupId.json new file mode 100644 index 00000000000..30146a5e6cf --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-ResourceGroupId.json @@ -0,0 +1,25 @@ +{ + "name": "ResourceGroupId", + "commonAlias": "ResourceGroup", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + }, + { + "name": "resourceGroups", + "type": "Static", + "value": "resourceGroups" + }, + { + "name": "resourceGroupName", + "type": "ResourceGroup" + } + ] +} \ No newline at end of file diff --git a/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-SubscriptionId.json b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-SubscriptionId.json new file mode 100644 index 00000000000..25706667298 --- /dev/null +++ b/api-definitions/resource-manager/RedisEnterprise/2024-06-01-preview/RedisEnterprise/ResourceId-SubscriptionId.json @@ -0,0 +1,16 @@ +{ + "name": "SubscriptionId", + "commonAlias": "Subscription", + "id": "/subscriptions/{subscriptionId}", + "segments": [ + { + "name": "subscriptions", + "type": "Static", + "value": "subscriptions" + }, + { + "name": "subscriptionId", + "type": "SubscriptionId" + } + ] +} \ No newline at end of file From 96389748d23e4417ad99f85cfb0c3135f7fa7592 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:31:52 +0100 Subject: [PATCH 121/134] data-api: support importer-specified example values for userspecified resource ID segments --- .../repository/internal/models/resource_ids.go | 7 +++++++ .../internal/transforms/resource_id_segment.go | 11 +++++++---- tools/data-api-sdk/v1/models/source_data_types.go | 11 +++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/tools/data-api-repository/repository/internal/models/resource_ids.go b/tools/data-api-repository/repository/internal/models/resource_ids.go index 61fbeb4558d..62f9ab0f88e 100644 --- a/tools/data-api-repository/repository/internal/models/resource_ids.go +++ b/tools/data-api-repository/repository/internal/models/resource_ids.go @@ -27,6 +27,13 @@ type ResourceIdSegment struct { // Type is set to ConstantResourceIdSegmentType. ConstantName *string `json:"constantName,omitempty"` + // ExampleValue provides an example of a valid value for this ResourceIDSegment. + // When this is absent in the API definition, an example value is automatically populated in + // the SDK model when the API definitions are loaded, so this isn't mandatory, but does + // override the generated value. This is only used for UserSpecified segment types, and is + // ignored for Constant segment types. + ExampleValue string `json:"exampleValue"` + // Name specifies the name for this ResourceId segment, which should be both unique and // type safe and unique - as this is used as both the name of a Field. Name string `json:"name"` diff --git a/tools/data-api-repository/repository/internal/transforms/resource_id_segment.go b/tools/data-api-repository/repository/internal/transforms/resource_id_segment.go index 2c4503ac69f..8f4329f52e6 100644 --- a/tools/data-api-repository/repository/internal/transforms/resource_id_segment.go +++ b/tools/data-api-repository/repository/internal/transforms/resource_id_segment.go @@ -62,8 +62,10 @@ func mapResourceIdSegmentFromRepository(input repositoryModels.ResourceIdSegment } if input.Type == repositoryModels.UserSpecifiedResourceIdSegmentType { - // TODO: store and load through the example value - exampleValue := fmt.Sprintf("%sValue", strings.TrimSuffix(input.Name, "Name")) + exampleValue := input.ExampleValue + if exampleValue == "" { + exampleValue = fmt.Sprintf("%sValue", strings.TrimSuffix(input.Name, "Name")) + } segment := sdkModels.NewUserSpecifiedResourceIDSegment(input.Name, exampleValue) return &segment, nil } @@ -129,8 +131,9 @@ func mapResourceIdSegmentToRepository(input sdkModels.ResourceIDSegment) (*repos if input.Type == sdkModels.UserSpecifiedResourceIDSegmentType { return &repositoryModels.ResourceIdSegment{ - Type: repositoryModels.UserSpecifiedResourceIdSegmentType, - Name: input.Name, + Type: repositoryModels.UserSpecifiedResourceIdSegmentType, + Name: input.Name, + ExampleValue: input.ExampleValue, }, nil } diff --git a/tools/data-api-sdk/v1/models/source_data_types.go b/tools/data-api-sdk/v1/models/source_data_types.go index 41aa3061e5b..78e62229d86 100644 --- a/tools/data-api-sdk/v1/models/source_data_types.go +++ b/tools/data-api-sdk/v1/models/source_data_types.go @@ -17,3 +17,14 @@ const ( func SourceDataTypeIsDataPlane(sourceDataType SourceDataType) bool { return sourceDataType != ResourceManagerSourceDataType } + +func SourceDataTypeName(sourceDataType SourceDataType) string { + switch sourceDataType { + case MicrosoftGraphSourceDataType: + return "Microsoft Graph" + case ResourceManagerSourceDataType: + return "Azure Resource Manager" + } + + return "" +} From 25807be27e93d2decff57be0a74f7f7766c675ba Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:34:34 +0100 Subject: [PATCH 122/134] generator-go-sdk: fix up struct tag for nullable model fields --- .../internal/generator/templater_models.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 0fcf91b2aab..6f37a4658d7 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -295,13 +295,16 @@ func (c modelsTemplater) methods(data GeneratorData) (*string, error) { func (c modelsTemplater) structLineForField(fieldName, fieldType string, fieldDetails models.SDKField, data GeneratorData) (*string, error) { jsonDetails := fieldDetails.JsonName - if c.fieldIsOptional(data, fieldDetails) || fieldDetails.ReadOnly { - if !strings.HasPrefix(fieldType, "nullable.") { + if strings.HasPrefix(fieldType, "nullable.") { + // nullable types should have the omitempty tag option and not be pointers + jsonDetails += ",omitempty" + } else { + if c.fieldIsOptional(data, fieldDetails) || fieldDetails.ReadOnly { + fieldType = fmt.Sprintf("*%s", fieldType) + jsonDetails += ",omitempty" + } else if fieldDetails.ObjectDefinition.Nullable { fieldType = fmt.Sprintf("*%s", fieldType) } - jsonDetails += ",omitempty" - } else if fieldDetails.ObjectDefinition.Nullable && !strings.HasPrefix(fieldType, "nullable.") { - fieldType = fmt.Sprintf("*%s", fieldType) } line := fmt.Sprintf("\t%s %s `json:\"%s\"`", fieldName, fieldType, jsonDetails) From f1fbe2433c0d6930e90b9f43062051731348cb87 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:36:01 +0100 Subject: [PATCH 123/134] generator-go-sdk: update readme generator to be sourceDataType-aware --- .../internal/generator/templater_readme.go | 21 ++++++---- .../generator/templater_readme_test.go | 42 +++++++++---------- 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_readme.go b/tools/generator-go-sdk/internal/generator/templater_readme.go index 4e060b98e85..a54614e83b0 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme.go @@ -20,7 +20,7 @@ type readmeTemplater struct { func (r readmeTemplater) template(data GeneratorData) (*string, error) { summary := r.packageSummary(data) - clientInit := r.clientInitialization(data.packageName, data.serviceClientName) + clientInit := r.clientInitialization(data.sourceType, data.packageName, data.serviceClientName) examples, err := r.exampleUsages(data) if err != nil { return nil, fmt.Errorf("building examples: %+v", err) @@ -53,27 +53,34 @@ func (r readmeTemplater) packageSummary(data GeneratorData) string { return fmt.Sprintf(` ## 'github.com/hashicorp/go-azure-sdk/%[1]s/%[2]s/%[3]s/%[4]s' Documentation -The '%[4]s' SDK allows for interaction with the Azure Resource Manager Service '%[2]s' (API Version '%[3]s'). +The '%[4]s' SDK allows for interaction with %[5]s '%[2]s' (API Version '%[3]s'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). ### Import Path '''go -%[5]s +%[6]s ''' -`, data.sourceType, data.servicePackageName, data.apiVersion, data.packageName, strings.Join(importLines, "\n")) +`, data.sourceType, data.servicePackageName, data.apiVersion, data.packageName, models.SourceDataTypeName(data.sourceType), strings.Join(importLines, "\n")) } -func (r readmeTemplater) clientInitialization(packageName, clientName string) string { +func (r readmeTemplater) clientInitialization(sourceType models.SourceDataType, packageName, clientName string) string { + var baseUri string + switch sourceType { + case models.MicrosoftGraphSourceDataType: + baseUri = "https://graph.microsoft.com" + case models.ResourceManagerSourceDataType: + baseUri = "https://management.azure.com" + } return fmt.Sprintf(` ### Client Initialization '''go -client := %[1]s.New%[2]sWithBaseURI("https://management.azure.com") +client := %[1]s.New%[2]sWithBaseURI("%[3]s") client.Client.Authorizer = authorizer ''' -`, packageName, clientName) +`, packageName, clientName, baseUri) } func (r readmeTemplater) exampleUsages(data GeneratorData) (*string, error) { diff --git a/tools/generator-go-sdk/internal/generator/templater_readme_test.go b/tools/generator-go-sdk/internal/generator/templater_readme_test.go index e493a7f318a..b28778e8c2d 100644 --- a/tools/generator-go-sdk/internal/generator/templater_readme_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_readme_test.go @@ -16,7 +16,7 @@ func TestReadmeTemplater_NoOperations(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -53,7 +53,7 @@ func TestReadmeTemplater_GetOperationWithResourceID(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -119,7 +119,7 @@ func TestReadmeTemplater_GetOperationWithResourceIDUsingACommonID(t *testing.T) expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -187,7 +187,7 @@ func TestReadmeTemplater_GetOperationWithResourceIDAndPayload(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -267,7 +267,7 @@ func TestReadmeTemplater_GetOperationWithResourceIDAndPayloadAndOptions(t *testi expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -355,7 +355,7 @@ func TestReadmeTemplater_GetOperationWithResourceIDAndOptions(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -429,7 +429,7 @@ func TestReadmeTemplater_GetOperationWithoutResourceID(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -487,7 +487,7 @@ func TestReadmeTemplater_GetOperationWithoutResourceIDWithOptions(t *testing.T) expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -553,7 +553,7 @@ func TestReadmeTemplater_ListOperationWithResourceID(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -621,7 +621,7 @@ func TestReadmeTemplater_ListOperationWithResourceIDUsingACommonID(t *testing.T) expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -691,7 +691,7 @@ func TestReadmeTemplater_ListOperationWithResourceIDAndPayload(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -773,7 +773,7 @@ func TestReadmeTemplater_ListOperationWithResourceIDAndPayloadAndOptions(t *test expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -863,7 +863,7 @@ func TestReadmeTemplater_ListOperationWithResourceIDAndOptions(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -946,7 +946,7 @@ func TestReadmeTemplater_ListOperationWithoutResourceID(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -1006,7 +1006,7 @@ func TestReadmeTemplater_LongRunningOperationWithResourceID(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -1069,7 +1069,7 @@ func TestReadmeTemplater_LongRunningOperationWithResourceIDUsingACommonID(t *tes expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -1134,7 +1134,7 @@ func TestReadmeTemplater_LongRunningOperationWithResourceIDAndPayload(t *testing expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -1211,7 +1211,7 @@ func TestReadmeTemplater_LongRunningOperationWithResourceIDAndPayloadAndOptions( expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -1296,7 +1296,7 @@ func TestReadmeTemplater_LongRunningOperationWithResourceIDAndOptions(t *testing expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -1367,7 +1367,7 @@ func TestReadmeTemplater_LongRunningOperationWithoutResourceID(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). @@ -1422,7 +1422,7 @@ func TestReadmeTemplater_MultipleOperations(t *testing.T) { expected := strings.ReplaceAll(` ## 'github.com/hashicorp/go-azure-sdk/resource-manager/compute/2022-02-01/disks' Documentation -The 'disks' SDK allows for interaction with the Azure Resource Manager Service 'compute' (API Version '2022-02-01'). +The 'disks' SDK allows for interaction with Azure Resource Manager 'compute' (API Version '2022-02-01'). This readme covers example usages, but further information on [using this SDK can be found in the project root](https://github.com/hashicorp/go-azure-sdk/tree/main/docs). From ba9c327cc26b18200dfbf8ae41b835937e82b55f Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:36:51 +0100 Subject: [PATCH 124/134] generator-go-sdk: ensure all ancestor fields are unmarshalled for discriminated/child models --- .../internal/generator/templater_methods.go | 140 +++++++++--------- .../templater_methods_discriminators_test.go | 2 +- .../internal/generator/templater_models.go | 102 ++++++++----- .../templater_models_discriminators_test.go | 8 + 4 files changed, 150 insertions(+), 102 deletions(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index 0972c76a5ec..106ff1f2350 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -617,8 +617,6 @@ func (c methodsPandoraTemplater) marshalerTemplate() (*string, error) { } func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*string, error) { - var output string - if c.operation.LongRunning { // Long Running operations shouldn't be attempted to be unmarshalled until the LRO is completed // in the event this needs to be unmarshalled early - the Response Object being exposed means that @@ -627,7 +625,7 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin } if c.operation.ResponseObject == nil { - return &output, nil + return pointer.To(""), nil } golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) @@ -636,8 +634,6 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin } typeName := *golangTypeName - discriminatedTypeParentName := "" - var model *models.SDKModel modelPackage := "" modelName := typeName @@ -645,48 +641,23 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin modelPackage = s[0] modelName = s[1] } + + // Note that `model` may be nil in the case of standard types (e.g. string, []byte etc) if m, ok := data.models[modelName]; ok { model = &m } else if m, ok = data.commonTypes.Models[modelName]; ok { model = &m } - if model != nil { - // it's either a parent model - if model.FieldNameContainingDiscriminatedValue != nil { - discriminatedTypeParentName = modelName - } - // or an implementation referencing a parent - if model.ParentTypeName != nil { - discriminatedTypeParentName = *model.ParentTypeName - } - - if model.DiscriminatedValue != nil { - // in this instance this would be a discriminated implementation present in the response object - // as such we should use that directly, rather than calling the parents unmarshal function - discriminatedTypeParentName = "" - } - } - + // Paginated response if c.operation.FieldContainingPaginationDetails != nil { - unmarshaler := fmt.Sprintf("Unmarshal%sImplementation", modelName) - if modelPackage != "" { - unmarshaler = fmt.Sprintf("%s.Unmarshal%sImplementation", modelPackage, modelName) - } - - output = fmt.Sprintf(` - var values struct { - Values *[]%[1]s %[2]s - } - if err = resp.Unmarshal(&values); err != nil { - return - } - - result.Model = values.Values -`, typeName, "`json:\"value\"`") + if model != nil && model.IsDiscriminatedParentType() { + unmarshaler := fmt.Sprintf("Unmarshal%sImplementation", modelName) + if modelPackage != "" { + unmarshaler = fmt.Sprintf("%s.Unmarshal%sImplementation", modelPackage, modelName) + } - if discriminatedTypeParentName != "" { - output = fmt.Sprintf(` + output := fmt.Sprintf(` var values struct { Values *[]json.RawMessage %[3]s } @@ -707,20 +678,33 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin } result.Model = &temp `, typeName, unmarshaler, "`json:\"value\"`") + + return &output, nil } + output := fmt.Sprintf(` + var values struct { + Values *[]%[1]s %[2]s + } + if err = resp.Unmarshal(&values); err != nil { + return + } + + result.Model = values.Values +`, typeName, "`json:\"value\"`") + return &output, nil } - // when this is a Discriminated Type (either the Parent or the Implementation, call the `unmarshal` func + // When this is a Discriminated Type (either the Parent or the Implementation, call the `unmarshal` func // for the relevant Parent - if discriminatedTypeParentName != "" { - unmarshaler := fmt.Sprintf("Unmarshal%sImplementation", discriminatedTypeParentName) + if model != nil && model.IsDiscriminatedParentType() { + unmarshaler := fmt.Sprintf("Unmarshal%sImplementation", modelName) if modelPackage != "" { - unmarshaler = fmt.Sprintf("%s.Unmarshal%sImplementation", modelPackage, discriminatedTypeParentName) + unmarshaler = fmt.Sprintf("%s.Unmarshal%sImplementation", modelPackage, modelName) } - output = fmt.Sprintf(` + output := fmt.Sprintf(` var respObj json.RawMessage if err = resp.Unmarshal(&respObj); err != nil { return @@ -729,37 +713,40 @@ func (c methodsPandoraTemplater) unmarshalerTemplate(data GeneratorData) (*strin if err != nil { return } - result.Model = &model + result.Model = model `, unmarshaler) - } else { - responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) - if err != nil { - return nil, fmt.Errorf("determing golang type name for response object: %+v", err) - } - if responseModelType != nil { - if c.operation.FieldContainingPaginationDetails != nil { - output = fmt.Sprintf(` - var model []%s`, *responseModelType) - } else { - output = fmt.Sprintf(` - var model %s`, *responseModelType) - } - output = fmt.Sprintf(`%s - result.Model = &model`, output) + + return &output, nil + } + + responseModelType, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) + if err != nil { + return nil, fmt.Errorf("determing golang type name for response object: %+v", err) + } + + output := "\n" + if responseModelType != nil { + if c.operation.FieldContainingPaginationDetails != nil { + output += fmt.Sprintf(` var model []%s`, *responseModelType) + } else { + output = fmt.Sprintf(` var model %s`, *responseModelType) } - output = fmt.Sprintf(`%s + output += ` + result.Model = &model` + } + + output += ` if err = resp.Unmarshal(result.Model); err != nil { return } -`, output) - } +` return &output, nil } func (c methodsPandoraTemplater) responseStructTemplate(data GeneratorData) (*string, error) { - model := "" + modelLine := "" typeName := "" if c.operation.ResponseObject != nil { golangTypeName, err := helpers.GolangTypeForSDKObjectDefinition(*c.operation.ResponseObject, nil, data.commonTypesPackageName) @@ -768,10 +755,27 @@ func (c methodsPandoraTemplater) responseStructTemplate(data GeneratorData) (*st } typeName = *golangTypeName - if c.operation.FieldContainingPaginationDetails != nil { - model = fmt.Sprintf("Model *[]%s", typeName) + var model *models.SDKModel + modelName := typeName + if s := strings.SplitN(modelName, ".", 2); len(s) == 2 { + modelName = s[1] + } + if m, ok := data.models[modelName]; ok { + model = &m + } else if m, ok = data.commonTypes.Models[modelName]; ok { + model = &m + } + + if model != nil && model.IsParent { + if c.operation.FieldContainingPaginationDetails != nil { + modelLine = fmt.Sprintf("Model *[]%s", typeName) + } else { + modelLine = fmt.Sprintf("Model %s", typeName) + } + } else if c.operation.FieldContainingPaginationDetails != nil { + modelLine = fmt.Sprintf("Model *[]%s", typeName) } else { - model = fmt.Sprintf("Model *%s", typeName) + modelLine = fmt.Sprintf("Model *%s", typeName) } } @@ -805,7 +809,7 @@ type %[1]s struct { } %[4]s -`, responseStructName, model, lro, paginationCode) +`, responseStructName, modelLine, lro, paginationCode) return &output, nil } diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go index f8c11b921a9..4d6104ab11f 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go @@ -220,7 +220,7 @@ func (c pandaClient) Get(ctx context.Context ) (result GetOperationResponse, err if err != nil { return } - result.Model = &model + result.Model = model return }` diff --git a/tools/generator-go-sdk/internal/generator/templater_models.go b/tools/generator-go-sdk/internal/generator/templater_models.go index 6f37a4658d7..bc232d8f6a0 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models.go +++ b/tools/generator-go-sdk/internal/generator/templater_models.go @@ -641,7 +641,28 @@ func (c modelsTemplater) codeForUnmarshalParentFunction(data GeneratorData) (*st if len(modelsImplementingThisClass) == 0 && featureflags.SkipDiscriminatedParentTypes() == false { return nil, fmt.Errorf("model %q is a discriminated parent type with no implementations", c.name) } - jsonFieldName := c.model.Fields[*c.model.FieldNameContainingDiscriminatedValue].JsonName + + // Discover discriminated field, which may be defined on an ancestor model + var discriminatedValueField models.SDKField + var ok bool + if discriminatedValueField, ok = c.model.Fields[*c.model.FieldNameContainingDiscriminatedValue]; !ok && c.model.ParentTypeName != nil { + ancestorTypeNames := []string{*c.model.ParentTypeName} + if c.model.FieldNameContainingDiscriminatedValue != nil { + _, foundAncestorTypeNames, err := c.findModelAncestry(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) + if err != nil { + return nil, err + } + ancestorTypeNames = *foundAncestorTypeNames + + // Look for the discriminated value field in all ancestors + for _, ancestorTypeName := range ancestorTypeNames { + if discriminatedValueField, ok = data.models[ancestorTypeName].Fields[*c.model.FieldNameContainingDiscriminatedValue]; ok { + break + } + } + } + } + // NOTE: unmarshaling null returns an empty map, which'll mean the `ok` fails // the 'type' field being omitted will also mean that `ok` is false lines = append(lines, fmt.Sprintf(` @@ -659,7 +680,7 @@ func Unmarshal%[1]sImplementation(input []byte) (%[1]s, error) { if !ok { return nil, nil } -`, c.name, jsonFieldName)) +`, c.name, discriminatedValueField.JsonName)) sort.Strings(modelsImplementingThisClass) for _, implementationName := range modelsImplementingThisClass { @@ -708,45 +729,66 @@ func (c modelsTemplater) codeForUnmarshalStructFunction(data GeneratorData) (*st lines := make([]string, 0) - // fields either require unmarshaling or can be explicitly assigned, determine which + // Determine which fields can be directly assigned and which must be explicitly unmarshalled fieldsRequiringAssignment := make([]string, 0) - fieldsRequiringUnmarshalling := make([]string, 0) + fieldsRequiringUnmarshalling := make(map[string]models.SDKField) for fieldName, fieldDetails := range c.model.Fields { + // Check if the model field references a model interface, which will require explicit unmarshalling topLevelObject := helpers.InnerMostSDKObjectDefinition(fieldDetails.ObjectDefinition) if topLevelObject.Type == models.ReferenceSDKObjectDefinitionType { model, ok := data.models[*topLevelObject.ReferenceName] if ok && model.IsDiscriminatedParentType() { - fieldsRequiringUnmarshalling = append(fieldsRequiringUnmarshalling, fieldName) + fieldsRequiringUnmarshalling[fieldName] = fieldDetails continue } } fieldsRequiringAssignment = append(fieldsRequiringAssignment, fieldName) } + + // Enumerate fields from ancestor models, determine which fields to assign directory or explicitly unmarshal if c.model.ParentTypeName != nil { - parent, ok := data.models[*c.model.ParentTypeName] - if !ok { - return nil, fmt.Errorf("Parent Model %q (for Model %q) was not found", *c.model.ParentTypeName, c.name) + ancestorTypeNames := []string{*c.model.ParentTypeName} + if c.model.FieldNameContainingDiscriminatedValue != nil { + _, foundAncestorTypeNames, err := c.findModelAncestry(data, *c.model.ParentTypeName, *c.model.FieldNameContainingDiscriminatedValue) + if err != nil { + return nil, err + } + ancestorTypeNames = *foundAncestorTypeNames } - for fieldName, fieldDetails := range parent.Fields { - // also double-check if the parent has any fields matching the same conditions + + ancestorFields := make(map[string]models.SDKField) + + // We want to include fields from all ancestors + for _, ancestorTypeName := range ancestorTypeNames { + parent, ok := data.models[ancestorTypeName] + if !ok { + return nil, fmt.Errorf("couldn't find Ancestor Model %q for Model %q", ancestorTypeName, c.name) + } + for fieldName, fieldDetails := range parent.Fields { + if _, ok := ancestorFields[fieldName]; ok { + // Skip fields already present from a closer ancestor + continue + } + ancestorFields[fieldName] = fieldDetails + } + } + + for fieldName, fieldDetails := range ancestorFields { + // Check if the ancestor field references a model interface, which requires explicit unmarshalling topLevelObject := helpers.InnerMostSDKObjectDefinition(fieldDetails.ObjectDefinition) if topLevelObject.Type == models.ReferenceSDKObjectDefinitionType { model, ok := data.models[*topLevelObject.ReferenceName] if ok && model.IsDiscriminatedParentType() { - fieldsRequiringUnmarshalling = append(fieldsRequiringUnmarshalling, fieldName) + fieldsRequiringUnmarshalling[fieldName] = fieldDetails continue } } - // however specifically for the parent we don't want to assign the `type` field since we don't output it - // so check the implementation model to determine which field the `type` is in, and assign if they - // don't match - // - // at this point since we know there's a parent-implementation relationship, there's no need to nil-check - if *c.model.FieldNameContainingDiscriminatedValue != fieldName { - fieldsRequiringAssignment = append(fieldsRequiringAssignment, fieldName) - } + // Note: previously we skipped unmarshalling the `type` field for discriminated models, we now intentionally + // populate this field to allow consumers the option of inspecting it. Note that we do not marshal the `type` + // field, so it cannot be set by consumers. + fieldsRequiringAssignment = append(fieldsRequiringAssignment, fieldName) } } @@ -780,21 +822,15 @@ func (s *%[1]s) UnmarshalJSON(bytes []byte) error {`, structName)) } `, structName)) - sort.Strings(fieldsRequiringUnmarshalling) - for _, fieldName := range fieldsRequiringUnmarshalling { - fieldDetails, ok := c.model.Fields[fieldName] + fieldNamesRequiringUnmarshalling := make([]string, 0, len(fieldsRequiringUnmarshalling)) + for fieldName := range fieldsRequiringUnmarshalling { + fieldNamesRequiringUnmarshalling = append(fieldNamesRequiringUnmarshalling, fieldName) + } + sort.Strings(fieldNamesRequiringUnmarshalling) + for _, fieldName := range fieldNamesRequiringUnmarshalling { + fieldDetails, ok := fieldsRequiringUnmarshalling[fieldName] if !ok { - if c.model.ParentTypeName == nil { - return nil, fmt.Errorf("field %q was not found on Model %q which has no Parent", fieldName, c.name) - } - parent, ok := data.models[*c.model.ParentTypeName] - if !ok { - return nil, fmt.Errorf("parent model %q was not found", *c.model.ParentTypeName) - } - fieldDetails, ok = parent.Fields[fieldName] - if !ok { - return nil, fmt.Errorf("field %q was not found on Model %q or Parent %q", fieldName, c.name, *c.model.ParentTypeName) - } + return nil, fmt.Errorf("internal-error: field %q for model %q was not found in `fieldsRequiringUnmarshalling` map", fieldName, c.name) } topLevelObjectDef := helpers.InnerMostSDKObjectDefinition(fieldDetails.ObjectDefinition) diff --git a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go index 4daf25c2f9a..1828f372e10 100644 --- a/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_models_discriminators_test.go @@ -524,6 +524,14 @@ func (s FirstImplementation) MarshalJSON() ([]byte, error) { var _ json.Unmarshaler = &FirstImplementation{} func (s *FirstImplementation) UnmarshalJSON(bytes []byte) error { + type alias FirstImplementation + var decoded alias + if err := json.Unmarshal(bytes, &decoded); err != nil { + return fmt.Errorf("unmarshaling into FirstImplementation: %+v", err) + } + + s.Type = decoded.Type + var temp map[string]json.RawMessage if err := json.Unmarshal(bytes, &temp); err != nil { return fmt.Errorf("unmarshaling FirstImplementation into map[string]json.RawMessage: %+v", err) From c45f7304e912bf31c522a9e0e8424c867c60488e Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:38:20 +0100 Subject: [PATCH 125/134] importer-msgraph-metadata: set a reasonable example value for user specified resource ID segments --- .../importer-msgraph-metadata/components/parser/resourceids.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index c0733caa4dc..533582cba3a 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -84,7 +84,7 @@ func (r ResourceId) DataApiSdkResourceId() (*sdkModels.ResourceID, error) { case SegmentAction, SegmentCast, SegmentFunction, SegmentLabel, SegmentODataReference: sdkSegments = append(sdkSegments, sdkModels.NewStaticValueResourceIDSegment(segment.Value, segment.Value)) case SegmentUserValue: - sdkSegments = append(sdkSegments, sdkModels.NewUserSpecifiedResourceIDSegment(normalize.CleanNameCamel(*segment.field), segment.Value)) + sdkSegments = append(sdkSegments, sdkModels.NewUserSpecifiedResourceIDSegment(normalize.CleanNameCamel(*segment.field), normalize.CleanNameCamel(segment.Value))) default: return nil, fmt.Errorf("unknown segment type %q at index %d for resource ID: %q", segment.Type, i, r.Name) } From 6f698c04fbae2191f4e0073fd585677135ce4bfa Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:39:29 +0100 Subject: [PATCH 126/134] importer-msgraph-metadata: fix early exit bug in SynchronizationSecrets workaround --- .../components/workarounds/workaround_synchronizationsecrets.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go index fb76a33c514..f58913c6216 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_synchronizationsecrets.go @@ -29,7 +29,7 @@ func (workaroundSynchronizationSecrets) Process(apiVersion, serviceName string, for serviceNameToMatch, path := range serviceNamesToPaths { if serviceNameToMatch != serviceName { - return nil + continue } resourceName := fmt.Sprintf("%sSynchronizationSecret", normalize.Singularize(normalize.CleanName(serviceName))) From 9260ca581d022263c0f67cfedc0aa0dbe32036fb Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:40:23 +0100 Subject: [PATCH 127/134] importer-msgraph-metadata: disable deduplication for categories, once again causes clobbering --- .../internal/pipeline/task_parse_resources.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go index 67ddc77b107..bdcf6ea2325 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_parse_resources.go @@ -581,7 +581,9 @@ func (p pipelineForService) parseResources(resourceIds parser.ResourceIds, model } // Remove duplicate words in the category - resource.Category = normalize.DeDuplicateName(resource.Category) + // TODO: Figure out whether we can do this safely; causes clobbering in identityGovernance, e.g. + // EntitlementManagementAccessPackageResourceRoleScopeClient vs EntitlementManagementAccessPackageAccessPackageResourceRoleScopeClient + //resource.Category = normalize.DeDuplicateName(resource.Category) } return From 8e09d5cb9e304b929b62f5641a94b1980211ba25 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 10:40:58 +0100 Subject: [PATCH 128/134] importer-msgraph-metadata: add unit test for `TruncateToLastSegmentOfTypeBeforeSegment` method --- .../components/parser/resourceids.go | 2 +- .../components/parser/resourceids_test.go | 298 ++++++++++++++++++ 2 files changed, 299 insertions(+), 1 deletion(-) create mode 100644 tools/importer-msgraph-metadata/components/parser/resourceids_test.go diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 533582cba3a..92dd1fe2f85 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -312,7 +312,7 @@ func (r ResourceId) LastSegmentOfTypeBeforeSegment(types []ResourceIdSegmentType return nil } -// TruncateToLastSegmentOfTypeBeforeSegment returns a new ResourceId, truncating this ResourceId to the last segment of +// TruncateToLastSegmentOfTypeBeforeSegment returns a new ResourceId, truncated to the last segment of // the specified type from the ResourceId that precedes the provided segment index func (r ResourceId) TruncateToLastSegmentOfTypeBeforeSegment(types []ResourceIdSegmentType, i int) *ResourceId { ret := r diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids_test.go b/tools/importer-msgraph-metadata/components/parser/resourceids_test.go new file mode 100644 index 00000000000..171f023f1a1 --- /dev/null +++ b/tools/importer-msgraph-metadata/components/parser/resourceids_test.go @@ -0,0 +1,298 @@ +package parser + +import ( + "reflect" + "testing" + + "github.com/davecgh/go-spew/spew" + "github.com/hashicorp/go-azure-helpers/lang/pointer" +) + +func TestNewResourceID(t *testing.T) { + testCases := []struct { + input string + tags []string + expected ResourceId + }{ + { + input: "/applications", + tags: []string{"applications.application"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "applications", + plural: true, + }, + }, + }, + }, + { + input: "/applications/{application-id}", + tags: []string{"applications.application"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "applications", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{applicationId}", + field: pointer.To("ApplicationId"), + }, + }, + }, + }, + { + input: "/groups/{group-id}/owners", + tags: []string{"groups.directoryObject"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "groups", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{groupId}", + field: pointer.To("GroupId"), + }, + { + Type: SegmentLabel, + Value: "owners", + plural: true, + }, + }, + }, + }, + { + input: "/groups/{group-id}/owners/$count", + tags: []string{"groups.directoryObject"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "groups", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{groupId}", + field: pointer.To("GroupId"), + }, + { + Type: SegmentLabel, + Value: "owners", + plural: true, + }, + { + Type: SegmentODataReference, + Value: "$count", + }, + }, + }, + }, + { + input: "/groups/{group-id}/owners/$ref", + tags: []string{"groups.directoryObject"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "groups", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{groupId}", + field: pointer.To("GroupId"), + }, + { + Type: SegmentLabel, + Value: "owners", + plural: true, + }, + { + Type: SegmentODataReference, + Value: "$ref", + }, + }, + }, + }, + { + input: "/applications/{application-id}/microsoft.graph.setVerifiedPublisher", + tags: []string{"applications.Actions"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "applications", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{applicationId}", + field: pointer.To("ApplicationId"), + }, + { + Type: SegmentAction, + Value: "setVerifiedPublisher", + }, + }, + }, + }, + { + input: "/groups/microsoft.graph.delta()", + tags: []string{"groups.Functions"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "groups", + plural: true, + }, + { + Type: SegmentFunction, + Value: "microsoft.graph.delta()", + }, + }, + }, + }, + { + input: "/directory/administrativeUnits/{administrativeUnit-id}/members/{directoryObject-id}/microsoft.graph.servicePrincipal", + tags: []string{"directory.administrativeUnit"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "directory", + }, + { + Type: SegmentLabel, + Value: "administrativeUnits", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{administrativeUnitId}", + field: pointer.To("AdministrativeUnitId"), + }, + { + Type: SegmentLabel, + Value: "members", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{directoryObjectId}", + field: pointer.To("DirectoryObjectId"), + }, + { + Type: SegmentCast, + Value: "microsoft.graph.servicePrincipal", + }, + }, + }, + }, + { + input: "/security/threatIntelligence/vulnerabilities/{vulnerability-id}/components/$count", + tags: []string{"security.threatIntelligence"}, + expected: ResourceId{ + Segments: []ResourceIdSegment{ + { + Type: SegmentLabel, + Value: "security", + }, + { + Type: SegmentLabel, + Value: "threatIntelligence", + }, + { + Type: SegmentLabel, + Value: "vulnerabilities", + plural: true, + }, + { + Type: SegmentUserValue, + Value: "{vulnerabilityId}", + field: pointer.To("VulnerabilityId"), + }, + { + Type: SegmentLabel, + Value: "components", + plural: true, + }, + { + Type: SegmentODataReference, + Value: "$count", + }, + }, + }, + }, + } + + for _, c := range testCases { + id := NewResourceId(c.input, c.tags) + if !reflect.DeepEqual(id, c.expected) { + t.Errorf(`expected: +%s + +received: +%s`, spew.Sdump(c.expected), spew.Sdump(id)) + } + } +} + +func TestTruncateToLastSegmentOfTypeBeforeSegment(t *testing.T) { + testCases := []struct { + input string + tags []string + segmentTypes []ResourceIdSegmentType + index int + expected string + }{ + { + input: "/applications/{application-id}/owners", + tags: []string{"applications.DirectoryObject"}, + segmentTypes: []ResourceIdSegmentType{SegmentUserValue}, + index: -1, + expected: "/applications/{applicationId}", + }, + { + input: "/directory/administrativeUnits/{administrativeUnit-id}/members/{directoryObject-id}/microsoft.graph.servicePrincipal", + tags: []string{"directory.administrativeUnit"}, + segmentTypes: []ResourceIdSegmentType{SegmentUserValue}, + index: 4, + expected: "/directory/administrativeUnits/{administrativeUnit-id}", + }, + { + input: "/security/threatIntelligence/vulnerabilities/{vulnerability-id}/components/$count", + tags: []string{"security.threatIntelligence"}, + segmentTypes: []ResourceIdSegmentType{SegmentLabel}, + index: 4, + expected: "/security/threatIntelligence/vulnerabilities", + }, + } + + for _, c := range testCases { + original := NewResourceId(c.input, c.tags) + output := original.TruncateToLastSegmentOfTypeBeforeSegment(c.segmentTypes, c.index) + + if output == nil { + t.Error("received nil ResourceId") + } + + expected := NewResourceId(c.expected, c.tags) + + if !reflect.DeepEqual(*output, expected) { + t.Errorf(`expected: +%s + +received: +%s`, spew.Sdump(expected), spew.Sdump(output)) + } + } +} From 51de4a5c40ba3050bfef0038f1bf6a02b7c9c856 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 11:05:08 +0100 Subject: [PATCH 129/134] importer-msgraph-metadata: add unit test for `FullyQualifiedResourceName` method --- .../components/parser/resourceids_test.go | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids_test.go b/tools/importer-msgraph-metadata/components/parser/resourceids_test.go index 171f023f1a1..63902910a0c 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids_test.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids_test.go @@ -246,6 +246,92 @@ received: } } +func TestFullyQualifiedResourceName(t *testing.T) { + testCases := []struct { + input string + tags []string + expected string + }{ + // Top-level resource + { + input: "/applications/{application-id}", + tags: []string{"applications.Application"}, + expected: "Application", + }, + + // Top-level resource with namespacing + { + input: "/roleManagement/directory/roleAssignmentScheduleInstances/{unifiedRoleAssignmentScheduleInstance-id}", + tags: []string{"roleManagement.rbacApplication"}, + expected: "RoleManagementDirectoryRoleAssignmentScheduleInstance", + }, + + // Child resource + { + input: "/applications/{application-id}/owners", + tags: []string{"applications.DirectoryObject"}, + expected: "ApplicationOwner", + }, + + // Child resource with namespacing + { + input: "/servicePrincipals/{servicePrincipal-id}/synchronization/jobs/{synchronizationJob-id}", + tags: []string{"security.threatIntelligence"}, + expected: "ServicePrincipalSynchronizationJob", + }, + + // Child resource with parent namespacing + { + input: "/security/threatIntelligence/vulnerabilities/{vulnerability-id}/components", + tags: []string{"security.threatIntelligence"}, + expected: "SecurityThreatIntelligenceVulnerabilityComponent", + }, + + // Child resource with name overlap should maintain namespacing to avoid clobbering + { + input: "/identityGovernance/entitlementManagement/accessPackages/{accessPackage-id}/accessPackageResourceRoleScopes", + tags: []string{"identityGovernance.entitlementManagement"}, + expected: "IdentityGovernanceEntitlementManagementAccessPackageAccessPackageResourceRoleScope", + }, + + // Verb moves to start of name + { + input: "/applications/{application-id}/microsoft.graph.setVerifiedPublisher", + tags: []string{"applications.Actions"}, + expected: "SetApplicationVerifiedPublisher", + }, + + // OData reference should be pluralized + { + input: "/directory/administrativeUnits/{administrativeUnit-id}/members/$ref", + tags: []string{"directory.administrativeUnit"}, + expected: "DirectoryAdministrativeUnitMemberRefs", + }, + + // OData count should pluralize the preceding label + { + input: "/servicePrincipals/{servicePrincipal-id}/createdObjects/$count", + tags: []string{"servicePrincipals.directoryObject"}, + expected: "ServicePrincipalCreatedObjectsCount", + }, + } + + for _, c := range testCases { + id := NewResourceId(c.input, c.tags) + output, ok := id.FullyQualifiedResourceName(nil) + + if !ok { + t.Errorf("received false") + } + + if output == nil { + t.Error("received nil fqrn") + } else if *output != c.expected { + t.Errorf("expected: %q, received: %q", c.expected, *output) + } + } +} + func TestTruncateToLastSegmentOfTypeBeforeSegment(t *testing.T) { testCases := []struct { input string From 63aa605ff63e420710833e15986fc99b662f4bbc Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Thu, 12 Sep 2024 14:53:08 +0100 Subject: [PATCH 130/134] importer-msgraph-metadata: support OData Metadata parameter --- .../components/parser/resources.go | 1 + .../internal/pipeline/task_translate_service.go | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tools/importer-msgraph-metadata/components/parser/resources.go b/tools/importer-msgraph-metadata/components/parser/resources.go index 1cfe9da5863..e40d482e464 100644 --- a/tools/importer-msgraph-metadata/components/parser/resources.go +++ b/tools/importer-msgraph-metadata/components/parser/resources.go @@ -143,6 +143,7 @@ type Resources map[string]*Resource // ServiceHasValidResources returns true when resources are found for the provided serviceName that have usable operations // defined (specifically any operations that do not require a response model, or that have a response model for any response) +// TODO: maybe remove this, we are not using this as it's preferable to error out rather than skip over func (r Resources) ServiceHasValidResources(serviceName string) bool { for _, resource := range r { if resource.Category == "" { diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index 34023773b40..d67aa9537f1 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -90,7 +90,15 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } } - options := make(map[string]sdkModels.SDKOperationOption) + options := map[string]sdkModels.SDKOperationOption{ + "Metadata": { + ODataFieldName: pointer.To("Metadata"), + ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ + ReferenceName: pointer.To("odata.Metadata"), + Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, + }, + }, + } if operation.RequestHeaders != nil { for _, header := range *operation.RequestHeaders { @@ -98,7 +106,6 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv options[normalize.CleanName(header.Name)] = sdkModels.SDKOperationOption{ ODataFieldName: &header.Name, ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ - NestedItem: nil, ReferenceName: pointer.To("odata.ConsistencyLevel"), Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, }, @@ -139,7 +146,6 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv options["Expand"] = sdkModels.SDKOperationOption{ ODataFieldName: pointer.To("Expand"), ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ - NestedItem: nil, ReferenceName: pointer.To("odata.Expand"), Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, }, @@ -149,7 +155,6 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv options["Format"] = sdkModels.SDKOperationOption{ ODataFieldName: pointer.To("Format"), ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ - NestedItem: nil, ReferenceName: pointer.To("odata.Format"), Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, }, @@ -159,7 +164,6 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv options["OrderBy"] = sdkModels.SDKOperationOption{ ODataFieldName: pointer.To("OrderBy"), ObjectDefinition: sdkModels.SDKOperationOptionObjectDefinition{ - NestedItem: nil, ReferenceName: pointer.To("odata.OrderBy"), Type: sdkModels.ReferenceSDKOperationOptionObjectDefinitionType, }, From b65699edfa85ecbc2158dd17dd6c8928de4ccdcd Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 13 Sep 2024 13:09:11 +0100 Subject: [PATCH 131/134] generator-go-sdk: fix bug in parent model check --- tools/generator-go-sdk/internal/generator/templater_methods.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods.go b/tools/generator-go-sdk/internal/generator/templater_methods.go index 106ff1f2350..60669b2f5c7 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods.go @@ -766,7 +766,7 @@ func (c methodsPandoraTemplater) responseStructTemplate(data GeneratorData) (*st model = &m } - if model != nil && model.IsParent { + if model != nil && model.IsDiscriminatedParentType() { if c.operation.FieldContainingPaginationDetails != nil { modelLine = fmt.Sprintf("Model *[]%s", typeName) } else { From b49419054c0cc5f7ccec2b7bf34cf47742635082 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Fri, 13 Sep 2024 13:24:39 +0100 Subject: [PATCH 132/134] generator-go-sdk: update test --- .../internal/generator/templater_methods_discriminators_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go index 4d6104ab11f..42a03b6d260 100644 --- a/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go +++ b/tools/generator-go-sdk/internal/generator/templater_methods_discriminators_test.go @@ -183,7 +183,7 @@ import ( type GetOperationResponse struct { HttpResponse *http.Response OData *odata.OData - Model *FizzyDrink + Model FizzyDrink } // Get ... From b3a0bd97802cfea09abd1e1668ddd6dc23f9a31e Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Mon, 16 Sep 2024 14:42:48 +0100 Subject: [PATCH 133/134] config: adding `beta` API for `identityGovernance` in `microsoft-graph` --- config/microsoft-graph.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/microsoft-graph.hcl b/config/microsoft-graph.hcl index 5e9ffbb51d6..2d4db8bbf8a 100644 --- a/config/microsoft-graph.hcl +++ b/config/microsoft-graph.hcl @@ -68,7 +68,7 @@ service "identity" { service "identityGovernance" { name = "IdentityGovernance" - available = ["stable"] + available = ["stable", "beta"] } service "invitations" { From 743c42adcb82192ded3474ef0af2645f3c205cc3 Mon Sep 17 00:00:00 2001 From: Tom Bamford Date: Tue, 17 Sep 2024 19:12:48 +0100 Subject: [PATCH 134/134] importer-msgraph-metadata: add more doc comments, remove resource blacklist since this is now covered by workarounds --- .../components/blacklisted/resource.go | 74 -------- .../components/parser/resourceids.go | 2 + .../components/parser/resources.go | 158 ++++++++++-------- .../components/parser/types.go | 137 ++++++++++----- .../workaround_conditionalaccesspolicy.go | 8 +- .../workarounds/workaround_odata_bind.go | 1 + ...rkaround_repeating_resource_id_segments.go | 3 + .../components/workarounds/workarounds.go | 7 + .../internal/pipeline/importer.go | 7 +- .../pipeline/task_translate_service.go | 5 - 10 files changed, 202 insertions(+), 200 deletions(-) delete mode 100644 tools/importer-msgraph-metadata/components/blacklisted/resource.go diff --git a/tools/importer-msgraph-metadata/components/blacklisted/resource.go b/tools/importer-msgraph-metadata/components/blacklisted/resource.go deleted file mode 100644 index 672de85a53d..00000000000 --- a/tools/importer-msgraph-metadata/components/blacklisted/resource.go +++ /dev/null @@ -1,74 +0,0 @@ -package blacklisted - -import ( - "fmt" - "strings" - - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" -) - -func Resource(resource *parser.Resource) bool { - if resource.Service == "Groups" { - - // Has IDs with repeating segments, which are not supported - if resource.Category == "SiteSite" { - return true - } - - // GroupSiteTermStore resources have repeating ID segments which are not supported at this time - if strings.Contains(resource.Category, "TermStore") { - return true - } - - // Onenote resources have repeating ID segments which are not supported at this time - if strings.Contains(resource.Category, "Onenote") { - return true - } - - } - - if resource.Service == "IdentityGovernance" { - - // These contain IDs with repeating segments, which are not supported at this time - prefixes := []string{ - "EntitlementManagementAccessPackageResourceRoleScopeRoleResourceScopeResourceRole", - "EntitlementManagementAccessPackageResourceRoleScopeScopeResourceRoleResourceScope", - "EntitlementManagementCatalogResourceRoleResourceScopeResourceRole", - "EntitlementManagementCatalogResourceScopeResourceRoleResourceScope", - "EntitlementManagementResourceRequestCatalogResourceRoleResourceScopeResource", - "EntitlementManagementResourceRequestCatalogResourceScopeResourceRoleResourceScope", - "EntitlementManagementResourceRequestResourceRoleResourceScope", - "EntitlementManagementResourceRequestResourceScopeResourceRole", - "EntitlementManagementResourceRoleScopeRoleResourceScopeResourceRole", - "EntitlementManagementResourceRoleScopeScopeResourceRoleResourceScope", - } - for _, prefix := range prefixes { - if strings.HasPrefix(resource.Category, prefix) || strings.HasPrefix(resource.Category, fmt.Sprintf("%s%s", resource.Service, prefix)) { - return true - } - } - - } - - if resource.Service == "Me" || resource.Service == "Users" { - - // Onenote resources have repeating ID segments which are not supported at this time - if strings.Contains(resource.Category, "Onenote") { - return true - } - - // These contain IDs with repeating segments, which are not supported at this time - prefixes := []string{ - "PendingAccessReviewInstanceDecisionInstanceStageDecision", - "PendingAccessReviewInstanceStageDecisionInstanceDecision", - } - for _, prefix := range prefixes { - if strings.HasPrefix(resource.Category, prefix) || strings.HasPrefix(resource.Category, fmt.Sprintf("%s%s", resource.Service, prefix)) { - return true - } - } - - } - - return false -} diff --git a/tools/importer-msgraph-metadata/components/parser/resourceids.go b/tools/importer-msgraph-metadata/components/parser/resourceids.go index 92dd1fe2f85..0ca775d3eab 100644 --- a/tools/importer-msgraph-metadata/components/parser/resourceids.go +++ b/tools/importer-msgraph-metadata/components/parser/resourceids.go @@ -76,6 +76,8 @@ func (r ResourceId) ID() string { return "/" + strings.Join(segments, "/") } +// DataApiSdkResourceId converts the internal ResourceId representation to a Data API SDK ResourceID, so it can be +// persisted to the Data API Definitions. func (r ResourceId) DataApiSdkResourceId() (*sdkModels.ResourceID, error) { sdkSegments := make([]sdkModels.ResourceIDSegment, 0, len(r.Segments)) diff --git a/tools/importer-msgraph-metadata/components/parser/resources.go b/tools/importer-msgraph-metadata/components/parser/resources.go index e40d482e464..d6dd418dfea 100644 --- a/tools/importer-msgraph-metadata/components/parser/resources.go +++ b/tools/importer-msgraph-metadata/components/parser/resources.go @@ -10,32 +10,99 @@ import ( sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" ) +type Resources map[string]*Resource + type Resource struct { - Name string - Category string - Version string - Service string - Paths []ResourceId + // The name of this resource + Name string + + // The category for this resource, used to group resources together in the same SDK package + Category string + + // The API version for this resource + Version string + + // The name of the service associated with this resource + Service string + + // All known paths for this resource, used for category matching between different resources + Paths []ResourceId + + // Supported operations for this resource Operations []Operation } type Operation struct { - Name string - Description string - Type OperationType - Method string - ResourceId *ResourceId - UriSuffix *string + // The full name of this operation, which should be unique across resources (at least in the same category) so + // prevent clobbering when resources/operations are grouped into an SDK package + Name string + + // Optional description which can be added to the generated SDK model as a comment + Description string + + // The type of this operation, initially determined from the HTTP method + Type OperationType + + // The HTTP method for this operation + Method string + + // The resource ID that comprises the first part of the URI for this operation + ResourceId *ResourceId + + // The remainder of the URI after the resource ID + UriSuffix *string + + // The content-type of the request body RequestContentType *string - RequestModel *string - RequestHeaders *Headers - RequestParams *Params - RequestType *DataType - Responses Responses - PaginationField *string - Tags []string + + // The model that describes the request body + RequestModel *string + + // Any user-specified HTTP headers supported for the request + RequestHeaders *Headers + + // Any user-specified query string parameters support for the request + RequestParams *Params + + // The internal data type for the request, used when the content type is JSON or XML, + // and the request is not described by a model + RequestType *DataType + + // The expected *success* responses for this operation + Responses Responses + + // When the content type is JSON or XML, and this is a List operation, the name of the field + // that specifies a URL to retrieve the next page of results + PaginationField *string + + // OpenAPI3 tags for this operation, used to reconcile operations to services + Tags []string +} + +type Responses []Response + +type Response struct { + // The HTTP status code associated with this expected response + Status int + + // The expected content type for this resource + ContentType *string + + // Specifies a referenced model or constant for the response, noting that this + // should be the full type name from the spec prior to normalizing + ReferenceName *string + + // The internal data type for the response, used when the content type is JSON or XML, + // and the response is not described by a model + Type *DataType + + // Model and Constant are used internally for ad-hoc response models + Model *Model + Constant *Constant } +type Headers []Header + type Header struct { Name string Type *DataType @@ -53,7 +120,7 @@ func (h Header) DataApiSdkObjectDefinition() (*sdkModels.SDKOperationOptionObjec }, nil } -type Headers []Header +type Params []Param type Param struct { Name string @@ -89,28 +156,6 @@ func (p Param) DataApiSdkObjectDefinition() (*sdkModels.SDKOperationOptionObject }, nil } -type Params []Param - -type Response struct { - Status int - ContentType *string - ReferenceName *string - Type *DataType - Model *Model - Constant *Constant -} - -type Responses []Response - -func (rs Responses) FindModelName() *string { - for _, r := range rs { - if r.ReferenceName != nil { - return r.ReferenceName - } - } - return nil -} - type OperationType uint8 const ( @@ -138,34 +183,3 @@ func NewOperationType(method string) OperationType { } return OperationTypeUnknown } - -type Resources map[string]*Resource - -// ServiceHasValidResources returns true when resources are found for the provided serviceName that have usable operations -// defined (specifically any operations that do not require a response model, or that have a response model for any response) -// TODO: maybe remove this, we are not using this as it's preferable to error out rather than skip over -func (r Resources) ServiceHasValidResources(serviceName string) bool { - for _, resource := range r { - if resource.Category == "" { - // These are logged earlier in the pipeline - continue - } - - for _, operation := range resource.Operations { - if operation.Type == OperationTypeList || operation.Type == OperationTypeRead { - // Determine whether to skip operation with missing response model - if operation.Type != OperationTypeDelete { - if responseModel := operation.Responses.FindModelName(); responseModel == nil { - if operation.ResourceId == nil || len(operation.ResourceId.Segments) == 0 || operation.ResourceId.Segments[len(operation.ResourceId.Segments)-1].Value != "$ref" { - continue - } - } - } - } - - return true - } - } - - return false -} diff --git a/tools/importer-msgraph-metadata/components/parser/types.go b/tools/importer-msgraph-metadata/components/parser/types.go index 85fda525303..1dd061a7c14 100644 --- a/tools/importer-msgraph-metadata/components/parser/types.go +++ b/tools/importer-msgraph-metadata/components/parser/types.go @@ -14,9 +14,9 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) -/* =================== - openapi3 cheatsheet - =================== +/* ======================= + kin-openapi3 cheatsheet + ======================= Schemas is a map[string]*SchemaRef SchemaRef is a struct{Ref, Value} where Ref is a string, Value is a *Schema The Ref string (after trimming) indicates a Schemas map key to follow/inherit @@ -69,19 +69,39 @@ func (m Models) Found(schemaName string) bool { } type Constant struct { - Name string + // The name of this constant from the spec (not normalized) + Name string + + // Whether this constant is a common type Common bool - Enum []string - Type *DataType + + // The accepted values for this constant + Enum []string + + // The data type for this constant (currently only supports strings) + Type *DataType } type Model struct { - Name string - Fields map[string]*ModelField - Common bool - Parent bool - TypeField *string - TypeValue *string + // The type name of this model from the spec (not normalized) + Name string + + // Fields that comprise this model + Fields map[string]*ModelField + + // Whether this model is a common type + Common bool + + // Whether this model has known child models + Parent bool + + // For parent models, the field name containing the discriminated type value + TypeField *string + + // For child models, the type value that specifies this model + TypeValue *string + + // For child models, the name of the parent model ParentModel *string } @@ -93,6 +113,8 @@ func (m *Model) AppendDefaultFields() { } } +// DataApiSdkModel converts the internal ModelField representation to a Data API SDKModel, so it can be persisted to the Data +// API Definitions. It's necessary to provide Models and Constants so that references (both fields and model ancestry) can be resolved. func (m *Model) DataApiSdkModel(models Models, constants Constants) (*sdkModels.SDKModel, error) { sdkFields := make(map[string]sdkModels.SDKField) for jsonName, field := range m.Fields { @@ -147,41 +169,44 @@ func (m *Model) DataApiSdkModel(models Models, constants Constants) (*sdkModels. }, nil } -func defaultModelFields() map[string]*ModelField { - // Add an explicit ODataId and ODataType field to each model, since it is inconsistently defined in the API specs. - // This won't be valid for every model, but it's impossible to tell which models support them, and it's effectively - // harmless to leave these in so long as they have the `omitempty` struct tag in the generated SDK. - return map[string]*ModelField{ - "@odata.id": { - Name: "ODataId", - Description: "The OData ID of this entity", - Type: pointer.To(DataTypeString), - Default: "", - }, - "@odata.type": { - Name: "ODataType", - Description: "The OData Type of this entity", - Type: pointer.To(DataTypeString), - Default: "", - }, - } -} - type ModelField struct { - Name string - Type *DataType - Description string - Default interface{} - Required bool - ReadOnly bool - WriteOnly bool - Nullable bool - AllowEmptyValue bool + // The name of this field + Name string + + // The internal type for this field + Type *DataType + + // The internal type for items, when this field type is DataTypeArray + ItemType *DataType + + // Optional description which can be added to the generated SDK model as a comment + Description string + + // The default value for this field + Default any + + // Whether the field is required + Required bool + + // Read-only fields should be omitted during marshalling in the generated SDK + ReadOnly bool + + // Whether the field value can be a JSON null + Nullable bool + + // Whether this field contains the discriminated type for a child model DiscriminatedValue bool - ItemType *DataType - ReferenceName *string + + // The name of a referenced model or constant, noting that this should be the full type name from the spec prior to normalizing + ReferenceName *string + + // This is parsed from the spec but otherwise currently unused + WriteOnly bool + AllowEmptyValue bool } +// DataApiSdkObjectDefinition converts the internal ModelField representation to a Data API SDKObjectDefinition, so it can be +// persisted to the Data API Definitions. It's necessary to provide Models and Constants so that references can be resolved. func (f ModelField) DataApiSdkObjectDefinition(models Models, constants Constants) (*sdkModels.SDKObjectDefinition, error) { if f.Type == nil { return nil, fmt.Errorf("field %q has no Type", f.Name) @@ -604,7 +629,7 @@ func modelFieldFromSchemaRef(jsonField string, fieldSchema *openapi3.SchemaRef) field.ItemType = FieldType(items.Value.Type, items.Value.Format, field.ReferenceName != nil) } - // Detect nullable, read-only and required fields from the description + // Detect nullable, read-only and required fields from the description, which appears to be reliably auto-generated. if (strings.HasPrefix(fieldSchema.Value.Description, "Nullable.") || strings.Contains(fieldSchema.Value.Description, " Nullable.")) && !strings.Contains(strings.ToLower(fieldSchema.Value.Description), "not nullable.") { field.Nullable = true } @@ -622,6 +647,30 @@ func modelFieldFromSchemaRef(jsonField string, fieldSchema *openapi3.SchemaRef) return &field, nil } +// defaultModelFields adds an explicit ODataId and ODataType field to each model, since it is inconsistently defined in +// the API specs. This won't be valid for every model, but it's impossible to tell which models support them, and it's +// effectively harmless to leave these in so long as they have the `omitempty` struct tag in the generated SDK. +func defaultModelFields() map[string]*ModelField { + return map[string]*ModelField{ + "@odata.id": { + Name: "ODataId", + Description: "The OData ID of this entity", + Type: pointer.To(DataTypeString), + Default: "", + Required: false, + Nullable: false, + }, + "@odata.type": { + Name: "ODataType", + Description: "The OData Type of this entity", + Type: pointer.To(DataTypeString), + Default: "", + Required: false, + Nullable: false, + }, + } +} + // parseEnum returns a slice of sanitized enum values (which are always strings) func parseEnum(input []interface{}) []string { out := make([]string, 0) diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go index fea8279da61..127eed29ebc 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_conditionalaccesspolicy.go @@ -25,7 +25,7 @@ func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parse return fmt.Errorf("`ConditionalAccessPolicy` model not found") } - // grantControls and sessionControls must be null to unset them, so make them nullable + required + // `grantControls` and `sessionControls` must be null to unset them, so make them nullable + required if _, ok = model.Fields["grantControls"]; !ok { return fmt.Errorf("`GrantControls` field not found") } @@ -42,7 +42,7 @@ func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parse return fmt.Errorf("`ConditionalAccessConditionSet` model not found") } - // devices, locations, platforms must each be null to unset them, so make them nullable + required + // `devices`, `locations`, `platforms` must each be null to unset them, so make them nullable + required if _, ok = model.Fields["devices"]; !ok { return fmt.Errorf("`Devices` field not found") } @@ -88,7 +88,7 @@ func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parse return fmt.Errorf("`ConditionalAccessSessionControls` model not found") } - // cloudAppSecurityPolicy must be null to unset it, so make it nullable + required + // `cloudAppSecurityPolicy` must be null to unset it, so make it nullable + required if _, ok = model.Fields["cloudAppSecurity"]; !ok { return fmt.Errorf("`CloudAppSecurity` field not found") } @@ -100,7 +100,7 @@ func (workaroundConditionalAccessPolicy) Process(apiVersion string, models parse return fmt.Errorf("`ConditionalAccessUsers` model not found") } - // excludeGuestsOrExternalUsers / includeGuestsOrExternalUsers must be null to unset them, so make them nullable + required + // `excludeGuestsOrExternalUsers` / `includeGuestsOrExternalUsers` must be null to unset them, so make them nullable + required if _, ok = model.Fields["excludeGuestsOrExternalUsers"]; !ok { return fmt.Errorf("`ExcludeGuestsOrExternalUsers` field not found") } diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go index f8ed087bc4a..f3218be009a 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_odata_bind.go @@ -17,6 +17,7 @@ var _ dataWorkaround = workaroundODataBind{} // workaroundODataBind inserts an `@odata.bind` field where a field or collection refers to a DirectoryObject. The // OpenAPI spec unfortunately does not document relationships between entities. +// For example usage, see https://learn.microsoft.com/en-us/graph/api/group-post-groups?view=graph-rest-1.0&tabs=http#example-2-create-a-group-with-owners-and-members type workaroundODataBind struct{} func (workaroundODataBind) Name() string { diff --git a/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go index b7e4136e0a3..3bf495b896d 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workaround_repeating_resource_id_segments.go @@ -11,6 +11,9 @@ import ( var _ dataWorkaround = workaroundRepeatingResourceIdSegments{} // workaroundRepeatingResourceIdSegments removes incompatible resource IDs due to repeating segments which are not supported at this time. +// After removing unsupported resource IDs, when a corresponding resource is being parsed, it will not match against any resource IDs, and +// the resulting URI suffix will contain the entire URL. If that resulting URI suffix contains any user-specified segments, the resource +// will also be skipped. type workaroundRepeatingResourceIdSegments struct{} func (workaroundRepeatingResourceIdSegments) Name() string { diff --git a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go index 305d5061cd6..7bf11829f6c 100644 --- a/tools/importer-msgraph-metadata/components/workarounds/workarounds.go +++ b/tools/importer-msgraph-metadata/components/workarounds/workarounds.go @@ -10,14 +10,21 @@ import ( "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/internal/logging" ) +// workarounds are general data workarounds that operate on models, constants and resource IDs. They can make any changes +// to this parsed data - note that each of these are passed in as maps, so changes propagate to the underlying object. var workarounds = []dataWorkaround{ + // Process general workarounds first workaroundODataBind{}, workaroundRepeatingResourceIdSegments{}, + // Model-specific workarounds workaroundApplication{}, workaroundConditionalAccessPolicy{}, } +// serviceWorkarounds make post-parsing changes to individual services and are able to make any changes to resources +// within that service and/or to resource IDs (which are shared across all services). Note that each of these are passed +// in as maps, so changes propagate to the underlying object. var serviceWorkarounds = []serviceWorkaround{ workaroundSynchronizationSecrets{}, } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/importer.go b/tools/importer-msgraph-metadata/internal/pipeline/importer.go index 5eaeef31a63..42d4e3bd283 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/importer.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/importer.go @@ -79,6 +79,7 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha return err } + // Parse all configured services for _, service := range config.Services { for _, version := range service.Available { if version == apiVersion { @@ -94,6 +95,7 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha return fmt.Errorf("unknown service was configured for API version %s: %#v", version, service) } + // Check that service is configured for import if len(input.Services) > 0 { skip := true @@ -133,17 +135,20 @@ func runImportForVersion(input RunInput, apiVersion, openApiFile, metadataGitSha } p.resourceIds = usedResourceIds + // Translate common types for this API version commonTypesForApiVersion, err := p.translateCommonTypesToDataApiSdkTypes() if err != nil { return err } + // Translate and persist all services to Data API Definitions for service := range p.resources { if err = p.ForService(service).PersistDefinitions(*commonTypesForApiVersion); err != nil { return err } } + // Persist all common types to Data API Definitions if err = p.PersistCommonTypesDefinitions(*commonTypesForApiVersion); err != nil { return err } @@ -161,7 +166,7 @@ func (p pipelineForService) RunImport() error { return nil } - // Apply workarounds + // Apply workarounds for this service if err = workarounds.ApplyWorkaroundsForService(p.apiVersion, p.service, resources, p.resourceIds); err != nil { return err } diff --git a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go index d67aa9537f1..502e0f84999 100644 --- a/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go +++ b/tools/importer-msgraph-metadata/internal/pipeline/task_translate_service.go @@ -9,7 +9,6 @@ import ( "github.com/hashicorp/go-azure-helpers/lang/pointer" sdkModels "github.com/hashicorp/pandora/tools/data-api-sdk/v1/models" - "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/blacklisted" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/normalize" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/parser" "github.com/hashicorp/pandora/tools/importer-msgraph-metadata/components/versions" @@ -26,10 +25,6 @@ func (p pipelineForService) translateServiceToDataApiSdkTypes() (*sdkModels.Serv } for _, resource := range p.resources[p.service] { - if blacklisted.Resource(resource) { - continue - } - // First scaffold the version and SDK resources (categories) if _, ok := sdkService.APIVersions[resource.Version]; !ok { sdkService.APIVersions[resource.Version] = sdkModels.APIVersion{