This is the AutoRest configuration file for EventGrid.
Multiple Azure services publish events to Azure Event Grid. This is the configuration file for generating the Publish API and the schemas for those events. Each Azure service publishing to Azure Event Grid has its own tag OpenAPI specification that describes the schemas for its events.
This configuration enables packaging all of the above as one EventGrid data plane library. This enables customers to download one EventGrid data plane library instead of having to install separate packages to get the event schemas for each service.
To build the SDK for EventGrid, simply Install AutoRest and in this folder, run:
autorest
To see additional help and options, run:
autorest --help
These are the global settings for the EventGrid API.
title: EventGridClient
description: EventGrid Client
openapi-type: data-plane
tag: package-2018-01
These settings apply only when --tag=package-2018-01
is specified on the command line.
input-file:
- Microsoft.Storage/stable/2018-01-01/Storage.json
- Microsoft.EventHub/stable/2018-01-01/EventHub.json
- Microsoft.Resources/stable/2018-01-01/Resources.json
- Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
- Microsoft.Devices/stable/2018-01-01/IotHub.json
- Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json
- Microsoft.ServiceBus/stable/2018-01-01/ServiceBus.json
- Microsoft.Media/stable/2018-01-01/MediaServices.json
- Microsoft.Maps/stable/2018-01-01/Maps.json
- Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
- Microsoft.SignalRService/stable/2018-01-01/SignalRService.json
- Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
- Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json
- Microsoft.Cache/stable/2018-01-01/RedisCache.json
- Microsoft.Web/stable/2018-01-01/Web.json
- Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
directive:
- suppress: DefinitionsPropertiesNamesCamelCase
from: Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
where: $.definitions.CloudEventEvent.properties.data_base64
reason: This parameter name is defined by the Cloud Events 1.0 specification
This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-python
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_event_grid']
These settings apply only when --csharp
is specified on the command line.
Please also specify --csharp-sdks-folder=<path to "SDKs" directory of your azure-sdk-for-net clone>
.
csharp:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: Microsoft.Azure.EventGrid
sync-methods: None
output-folder: $(csharp-sdks-folder)/eventgrid/Microsoft.Azure.EventGrid/src/Generated
clear-output-folder: true
See configuration in readme.go.md
These settings apply only when --java
is specified on the command line.
Please also specify --azure-libraries-for-java-folder=<path to the root directory of your azure-libraries-for-java clone>
.
azure-arm: true
fluent: true
namespace: com.microsoft.azure.eventgrid
license-header: MICROSOFT_MIT_NO_CODEGEN
payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/eventgrid/data-plane
AutoRest V3 generators require the use of --tag=all-api-versions
to select api files.
This block is updated by an automatic script. Edits may be lost!
# include the azure profile definitions from the standard location
require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.Storage/stable/2018-01-01/Storage.json
- $(this-folder)/Microsoft.EventHub/stable/2018-01-01/EventHub.json
- $(this-folder)/Microsoft.Resources/stable/2018-01-01/Resources.json
- $(this-folder)/Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
- $(this-folder)/Microsoft.Devices/stable/2018-01-01/IotHub.json
- $(this-folder)/Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json
- $(this-folder)/Microsoft.ServiceBus/stable/2018-01-01/ServiceBus.json
- $(this-folder)/Microsoft.Media/stable/2018-01-01/MediaServices.json
- $(this-folder)/Microsoft.Maps/stable/2018-01-01/Maps.json
- $(this-folder)/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
- $(this-folder)/Microsoft.SignalRService/stable/2018-01-01/SignalRService.json
- $(this-folder)/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
- $(this-folder)/Microsoft.MachineLearningServices/stable/2018-01-01/MachineLearningServices.json
- $(this-folder)/Microsoft.Cache/stable/2018-01-01/RedisCache.json
- $(this-folder)/Microsoft.Web/stable/2018-01-01/Web.json
- $(this-folder)/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json
If there are files that should not be in the all-api-versions
set,
uncomment the exclude-file
section below and add the file paths.
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json