diff --git a/lib/services/eventgridManagement/lib/eventGridManagementClient.js b/lib/services/eventgridManagement/lib/eventGridManagementClient.js index 2b1243c937..dcc06c7c42 100644 --- a/lib/services/eventgridManagement/lib/eventGridManagementClient.js +++ b/lib/services/eventgridManagement/lib/eventGridManagementClient.js @@ -50,7 +50,7 @@ class EventGridManagementClient extends ServiceClient { super(credentials, options); - this.apiVersion = '2018-01-01'; + this.apiVersion = '2018-05-01-preview'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.generateClientRequestId = true; diff --git a/lib/services/eventgridManagement/lib/models/deadLetterDestination.js b/lib/services/eventgridManagement/lib/models/deadLetterDestination.js new file mode 100644 index 0000000000..131955a735 --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/deadLetterDestination.js @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Information about the dead letter destination for an event subscription. To + * configure a deadletter destination, do not directly instantiate an object of + * this class. Instead, instantiate an object of a derived class. Currently, + * StorageBlobDeadLetterDestination is the only class that derives from this + * class. + * + */ +class DeadLetterDestination { + /** + * Create a DeadLetterDestination. + * @member {string} endpointType Polymorphic Discriminator + */ + constructor() { + } + + /** + * Defines the metadata of DeadLetterDestination + * + * @returns {object} metadata of DeadLetterDestination + * + */ + mapper() { + return { + required: false, + serializedName: 'DeadLetterDestination', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'endpointType', + clientName: 'endpointType' + }, + uberParent: 'DeadLetterDestination', + className: 'DeadLetterDestination', + modelProperties: { + endpointType: { + required: true, + serializedName: 'endpointType', + isPolymorphicDiscriminator: true, + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = DeadLetterDestination; diff --git a/lib/services/eventgridManagement/lib/models/eventSubscription.js b/lib/services/eventgridManagement/lib/models/eventSubscription.js index 69e0fb90a4..7a9699a003 100644 --- a/lib/services/eventgridManagement/lib/models/eventSubscription.js +++ b/lib/services/eventgridManagement/lib/models/eventSubscription.js @@ -23,7 +23,7 @@ class EventSubscription extends models['Resource'] { * @member {string} [topic] Name of the topic of the event subscription. * @member {string} [provisioningState] Provisioning state of the event * subscription. Possible values include: 'Creating', 'Updating', 'Deleting', - * 'Succeeded', 'Canceled', 'Failed' + * 'Succeeded', 'Canceled', 'Failed', 'AwaitingManualAction' * @member {object} [destination] Information about the destination where * events have to be delivered for the event subscription. * @member {string} [destination.endpointType] Polymorphic Discriminator @@ -44,6 +44,21 @@ class EventSubscription extends models['Resource'] { * SubjectBeginsWith and SubjectEndsWith properties of the filter * should be compared in a case sensitive manner. * @member {array} [labels] List of user defined labels. + * @member {string} [eventDeliverySchema] The event delivery schema for the + * event subscription. Possible values include: 'EventGridSchema', + * 'InputEventSchema', 'CloudEventV01Schema'. Default value: + * 'EventGridSchema' . + * @member {object} [retryPolicy] The retry policy for events. This can be + * used to configure maximum number of delivery attempts and time to live for + * events. + * @member {number} [retryPolicy.maxDeliveryAttempts] Maximum number of + * delivery retry attempts for events. + * @member {number} [retryPolicy.eventTimeToLiveInMinutes] Time To Live (in + * minutes) for events. + * @member {object} [deadLetterDestination] The DeadLetter destination of the + * event subscription. + * @member {string} [deadLetterDestination.endpointType] Polymorphic + * Discriminator */ constructor() { super(); @@ -137,6 +152,35 @@ class EventSubscription extends models['Resource'] { } } } + }, + eventDeliverySchema: { + required: false, + serializedName: 'properties.eventDeliverySchema', + defaultValue: 'EventGridSchema', + type: { + name: 'String' + } + }, + retryPolicy: { + required: false, + serializedName: 'properties.retryPolicy', + type: { + name: 'Composite', + className: 'RetryPolicy' + } + }, + deadLetterDestination: { + required: false, + serializedName: 'properties.deadLetterDestination', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'endpointType', + clientName: 'endpointType' + }, + uberParent: 'DeadLetterDestination', + className: 'DeadLetterDestination' + } } } } diff --git a/lib/services/eventgridManagement/lib/models/eventSubscriptionUpdateParameters.js b/lib/services/eventgridManagement/lib/models/eventSubscriptionUpdateParameters.js index 8b8a2fa5ae..4c98d16dfa 100644 --- a/lib/services/eventgridManagement/lib/models/eventSubscriptionUpdateParameters.js +++ b/lib/services/eventgridManagement/lib/models/eventSubscriptionUpdateParameters.js @@ -39,6 +39,21 @@ class EventSubscriptionUpdateParameters { * SubjectBeginsWith and SubjectEndsWith properties of the filter * should be compared in a case sensitive manner. * @member {array} [labels] List of user defined labels. + * @member {string} [eventDeliverySchema] The event delivery schema for the + * event subscription. Possible values include: 'EventGridSchema', + * 'InputEventSchema', 'CloudEventV01Schema'. Default value: + * 'EventGridSchema' . + * @member {object} [retryPolicy] The retry policy for events. This can be + * used to configure maximum number of delivery attempts and time to live for + * events. + * @member {number} [retryPolicy.maxDeliveryAttempts] Maximum number of + * delivery retry attempts for events. + * @member {number} [retryPolicy.eventTimeToLiveInMinutes] Time To Live (in + * minutes) for events. + * @member {object} [deadLetterDestination] The DeadLetter destination of the + * event subscription. + * @member {string} [deadLetterDestination.endpointType] Polymorphic + * Discriminator */ constructor() { } @@ -91,6 +106,35 @@ class EventSubscriptionUpdateParameters { } } } + }, + eventDeliverySchema: { + required: false, + serializedName: 'eventDeliverySchema', + defaultValue: 'EventGridSchema', + type: { + name: 'String' + } + }, + retryPolicy: { + required: false, + serializedName: 'retryPolicy', + type: { + name: 'Composite', + className: 'RetryPolicy' + } + }, + deadLetterDestination: { + required: false, + serializedName: 'deadLetterDestination', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'endpointType', + clientName: 'endpointType' + }, + uberParent: 'DeadLetterDestination', + className: 'DeadLetterDestination' + } } } } diff --git a/lib/services/eventgridManagement/lib/models/hybridConnectionEventSubscriptionDestination.js b/lib/services/eventgridManagement/lib/models/hybridConnectionEventSubscriptionDestination.js new file mode 100644 index 0000000000..c9536e3ec3 --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/hybridConnectionEventSubscriptionDestination.js @@ -0,0 +1,71 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * Information about the HybridConnection destination for an event + * subscription. + * + * @extends models['EventSubscriptionDestination'] + */ +class HybridConnectionEventSubscriptionDestination extends models['EventSubscriptionDestination'] { + /** + * Create a HybridConnectionEventSubscriptionDestination. + * @member {string} [resourceId] The Azure Resource ID of an hybrid + * connection that is the destination of an event subscription. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of HybridConnectionEventSubscriptionDestination + * + * @returns {object} metadata of HybridConnectionEventSubscriptionDestination + * + */ + mapper() { + return { + required: false, + serializedName: 'HybridConnection', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'endpointType', + clientName: 'endpointType' + }, + uberParent: 'EventSubscriptionDestination', + className: 'HybridConnectionEventSubscriptionDestination', + modelProperties: { + endpointType: { + required: true, + serializedName: 'endpointType', + isPolymorphicDiscriminator: true, + type: { + name: 'String' + } + }, + resourceId: { + required: false, + serializedName: 'properties.resourceId', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = HybridConnectionEventSubscriptionDestination; diff --git a/lib/services/eventgridManagement/lib/models/index.d.ts b/lib/services/eventgridManagement/lib/models/index.d.ts index 9ac935cb08..3b1e85bd3a 100644 --- a/lib/services/eventgridManagement/lib/models/index.d.ts +++ b/lib/services/eventgridManagement/lib/models/index.d.ts @@ -56,6 +56,38 @@ export interface EventSubscriptionFilter { isSubjectCaseSensitive?: boolean; } +/** + * @class + * Initializes a new instance of the RetryPolicy class. + * @constructor + * Information about the retry policy for an event subscription + * + * @member {number} [maxDeliveryAttempts] Maximum number of delivery retry + * attempts for events. + * @member {number} [eventTimeToLiveInMinutes] Time To Live (in minutes) for + * events. + */ +export interface RetryPolicy { + maxDeliveryAttempts?: number; + eventTimeToLiveInMinutes?: number; +} + +/** + * @class + * Initializes a new instance of the DeadLetterDestination class. + * @constructor + * Information about the dead letter destination for an event subscription. To + * configure a deadletter destination, do not directly instantiate an object of + * this class. Instead, instantiate an object of a derived class. Currently, + * StorageBlobDeadLetterDestination is the only class that derives from this + * class. + * + * @member {string} endpointType Polymorphic Discriminator + */ +export interface DeadLetterDestination { + endpointType: string; +} + /** * @class * Initializes a new instance of the Resource class. @@ -72,6 +104,22 @@ export interface Resource extends BaseResource { readonly type?: string; } +/** + * @class + * Initializes a new instance of the StorageBlobDeadLetterDestination class. + * @constructor + * Information about the storage blob based dead letter destination. + * + * @member {string} [resourceId] The Azure Resource ID of the storage account + * that is the destination of the deadletter events + * @member {string} [blobContainerName] The name of the Storage blob container + * that is the destination of the deadletter events + */ +export interface StorageBlobDeadLetterDestination extends DeadLetterDestination { + resourceId?: string; + blobContainerName?: string; +} + /** * @class * Initializes a new instance of the WebHookEventSubscriptionDestination class. @@ -101,6 +149,36 @@ export interface EventHubEventSubscriptionDestination extends EventSubscriptionD resourceId?: string; } +/** + * @class + * Initializes a new instance of the StorageQueueEventSubscriptionDestination class. + * @constructor + * Information about the storage queue destination for an event subscription. + * + * @member {string} [resourceId] The Azure Resource ID of the storage account + * that contains the queue that is the destination of an event subscription. + * @member {string} [queueName] The name of the Storage queue under a storage + * account that is the destination of an event subscription. + */ +export interface StorageQueueEventSubscriptionDestination extends EventSubscriptionDestination { + resourceId?: string; + queueName?: string; +} + +/** + * @class + * Initializes a new instance of the HybridConnectionEventSubscriptionDestination class. + * @constructor + * Information about the HybridConnection destination for an event + * subscription. + * + * @member {string} [resourceId] The Azure Resource ID of an hybrid connection + * that is the destination of an event subscription. + */ +export interface HybridConnectionEventSubscriptionDestination extends EventSubscriptionDestination { + resourceId?: string; +} + /** * @class * Initializes a new instance of the EventSubscription class. @@ -110,7 +188,7 @@ export interface EventHubEventSubscriptionDestination extends EventSubscriptionD * @member {string} [topic] Name of the topic of the event subscription. * @member {string} [provisioningState] Provisioning state of the event * subscription. Possible values include: 'Creating', 'Updating', 'Deleting', - * 'Succeeded', 'Canceled', 'Failed' + * 'Succeeded', 'Canceled', 'Failed', 'AwaitingManualAction' * @member {object} [destination] Information about the destination where * events have to be delivered for the event subscription. * @member {string} [destination.endpointType] Polymorphic Discriminator @@ -131,6 +209,21 @@ export interface EventHubEventSubscriptionDestination extends EventSubscriptionD * SubjectBeginsWith and SubjectEndsWith properties of the filter * should be compared in a case sensitive manner. * @member {array} [labels] List of user defined labels. + * @member {string} [eventDeliverySchema] The event delivery schema for the + * event subscription. Possible values include: 'EventGridSchema', + * 'InputEventSchema', 'CloudEventV01Schema'. Default value: 'EventGridSchema' + * . + * @member {object} [retryPolicy] The retry policy for events. This can be used + * to configure maximum number of delivery attempts and time to live for + * events. + * @member {number} [retryPolicy.maxDeliveryAttempts] Maximum number of + * delivery retry attempts for events. + * @member {number} [retryPolicy.eventTimeToLiveInMinutes] Time To Live (in + * minutes) for events. + * @member {object} [deadLetterDestination] The DeadLetter destination of the + * event subscription. + * @member {string} [deadLetterDestination.endpointType] Polymorphic + * Discriminator */ export interface EventSubscription extends Resource { readonly topic?: string; @@ -138,6 +231,9 @@ export interface EventSubscription extends Resource { destination?: EventSubscriptionDestination; filter?: EventSubscriptionFilter; labels?: string[]; + eventDeliverySchema?: string; + retryPolicy?: RetryPolicy; + deadLetterDestination?: DeadLetterDestination; } /** @@ -166,11 +262,29 @@ export interface EventSubscription extends Resource { * SubjectBeginsWith and SubjectEndsWith properties of the filter * should be compared in a case sensitive manner. * @member {array} [labels] List of user defined labels. + * @member {string} [eventDeliverySchema] The event delivery schema for the + * event subscription. Possible values include: 'EventGridSchema', + * 'InputEventSchema', 'CloudEventV01Schema'. Default value: 'EventGridSchema' + * . + * @member {object} [retryPolicy] The retry policy for events. This can be used + * to configure maximum number of delivery attempts and time to live for + * events. + * @member {number} [retryPolicy.maxDeliveryAttempts] Maximum number of + * delivery retry attempts for events. + * @member {number} [retryPolicy.eventTimeToLiveInMinutes] Time To Live (in + * minutes) for events. + * @member {object} [deadLetterDestination] The DeadLetter destination of the + * event subscription. + * @member {string} [deadLetterDestination.endpointType] Polymorphic + * Discriminator */ export interface EventSubscriptionUpdateParameters { destination?: EventSubscriptionDestination; filter?: EventSubscriptionFilter; labels?: string[]; + eventDeliverySchema?: string; + retryPolicy?: RetryPolicy; + deadLetterDestination?: DeadLetterDestination; } /** @@ -226,6 +340,109 @@ export interface Operation { properties?: any; } +/** + * @class + * Initializes a new instance of the InputSchemaMapping class. + * @constructor + * By default, Event Grid expects events to be in the Event Grid event schema. + * Specifying an input schema mapping enables publishing to Event Grid using a + * custom input schema. Currently, the only supported type of + * InputSchemaMapping is 'JsonInputSchemaMapping'. + * + * @member {string} inputSchemaMappingType Polymorphic Discriminator + */ +export interface InputSchemaMapping { + inputSchemaMappingType: string; +} + +/** + * @class + * Initializes a new instance of the JsonField class. + * @constructor + * This is used to express the source of an input schema mapping for a single + * target field in the Event Grid Event schema. This is currently used in the + * mappings for the 'id','topic' and 'eventtime' properties. This represents a + * field in the input event schema. + * + * @member {string} [sourceField] Name of a field in the input event schema + * that's to be used as the source of a mapping. + */ +export interface JsonField { + sourceField?: string; +} + +/** + * @class + * Initializes a new instance of the JsonFieldWithDefault class. + * @constructor + * This is used to express the source of an input schema mapping for a single + * target field in the Event Grid Event schema. This is currently used in the + * mappings for the 'subject','eventtype' and 'dataversion' properties. This + * represents a field in the input event schema along with a default value to + * be used, and at least one of these two properties should be provided. + * + * @member {string} [sourceField] Name of a field in the input event schema + * that's to be used as the source of a mapping. + * @member {string} [defaultValue] The default value to be used for mapping + * when a SourceField is not provided or if there's no property with the + * specified name in the published JSON event payload. + */ +export interface JsonFieldWithDefault { + sourceField?: string; + defaultValue?: string; +} + +/** + * @class + * Initializes a new instance of the JsonInputSchemaMapping class. + * @constructor + * This enables publishing to Event Grid using a custom input schema. This can + * be used to map properties from a custom input JSON schema to the Event Grid + * event schema. + * + * @member {object} [id] The mapping information for the Id property of the + * Event Grid Event. + * @member {string} [id.sourceField] Name of a field in the input event schema + * that's to be used as the source of a mapping. + * @member {object} [topic] The mapping information for the Topic property of + * the Event Grid Event. + * @member {string} [topic.sourceField] Name of a field in the input event + * schema that's to be used as the source of a mapping. + * @member {object} [eventTime] The mapping information for the EventTime + * property of the Event Grid Event. + * @member {string} [eventTime.sourceField] Name of a field in the input event + * schema that's to be used as the source of a mapping. + * @member {object} [eventType] The mapping information for the EventType + * property of the Event Grid Event. + * @member {string} [eventType.sourceField] Name of a field in the input event + * schema that's to be used as the source of a mapping. + * @member {string} [eventType.defaultValue] The default value to be used for + * mapping when a SourceField is not provided or if there's no property with + * the specified name in the published JSON event payload. + * @member {object} [subject] The mapping information for the Subject property + * of the Event Grid Event. + * @member {string} [subject.sourceField] Name of a field in the input event + * schema that's to be used as the source of a mapping. + * @member {string} [subject.defaultValue] The default value to be used for + * mapping when a SourceField is not provided or if there's no property with + * the specified name in the published JSON event payload. + * @member {object} [dataVersion] The mapping information for the DataVersion + * property of the Event Grid Event. + * @member {string} [dataVersion.sourceField] Name of a field in the input + * event schema that's to be used as the source of a mapping. + * @member {string} [dataVersion.defaultValue] The default value to be used for + * mapping when a SourceField is not provided or if there's no property with + * the specified name in the published JSON event payload. + */ +export interface JsonInputSchemaMapping extends InputSchemaMapping { + id?: JsonField; + topic?: JsonField; + eventTime?: JsonField; + eventType?: JsonFieldWithDefault; + subject?: JsonFieldWithDefault; + dataVersion?: JsonFieldWithDefault; +} + /** * @class * Initializes a new instance of the TrackedResource class. @@ -250,10 +467,22 @@ export interface TrackedResource extends Resource { * Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', * 'Canceled', 'Failed' * @member {string} [endpoint] Endpoint for the topic. + * @member {string} [inputSchema] This determines the format that Event Grid + * should expect for incoming events published to the topic. Possible values + * include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'. + * Default value: 'EventGridSchema' . + * @member {object} [inputSchemaMapping] This enables publishing using custom + * event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * @member {string} [inputSchemaMapping.inputSchemaMappingType] Polymorphic + * Discriminator */ export interface Topic extends TrackedResource { readonly provisioningState?: string; readonly endpoint?: string; + inputSchema?: string; + inputSchemaMapping?: InputSchemaMapping; } /** @@ -286,7 +515,7 @@ export interface TopicSharedAccessKeys { * @class * Initializes a new instance of the TopicRegenerateKeyRequest class. * @constructor - * Topic regenerate share access key key request + * Topic regenerate share access key request * * @member {string} keyName Key name to regenerate key1 or key2 */ diff --git a/lib/services/eventgridManagement/lib/models/index.js b/lib/services/eventgridManagement/lib/models/index.js index 56bfd371b5..6861313f86 100644 --- a/lib/services/eventgridManagement/lib/models/index.js +++ b/lib/services/eventgridManagement/lib/models/index.js @@ -20,14 +20,23 @@ exports.BaseResource = msRestAzure.BaseResource; exports.CloudError = msRestAzure.CloudError; exports.EventSubscriptionDestination = require('./eventSubscriptionDestination'); exports.EventSubscriptionFilter = require('./eventSubscriptionFilter'); +exports.RetryPolicy = require('./retryPolicy'); +exports.DeadLetterDestination = require('./deadLetterDestination'); exports.Resource = require('./resource'); +exports.StorageBlobDeadLetterDestination = require('./storageBlobDeadLetterDestination'); exports.WebHookEventSubscriptionDestination = require('./webHookEventSubscriptionDestination'); exports.EventHubEventSubscriptionDestination = require('./eventHubEventSubscriptionDestination'); +exports.StorageQueueEventSubscriptionDestination = require('./storageQueueEventSubscriptionDestination'); +exports.HybridConnectionEventSubscriptionDestination = require('./hybridConnectionEventSubscriptionDestination'); exports.EventSubscription = require('./eventSubscription'); exports.EventSubscriptionUpdateParameters = require('./eventSubscriptionUpdateParameters'); exports.EventSubscriptionFullUrl = require('./eventSubscriptionFullUrl'); exports.OperationInfo = require('./operationInfo'); exports.Operation = require('./operation'); +exports.InputSchemaMapping = require('./inputSchemaMapping'); +exports.JsonField = require('./jsonField'); +exports.JsonFieldWithDefault = require('./jsonFieldWithDefault'); +exports.JsonInputSchemaMapping = require('./jsonInputSchemaMapping'); exports.TrackedResource = require('./trackedResource'); exports.Topic = require('./topic'); exports.TopicUpdateParameters = require('./topicUpdateParameters'); @@ -42,6 +51,12 @@ exports.EventTypesListResult = require('./eventTypesListResult'); exports.TopicTypesListResult = require('./topicTypesListResult'); exports.discriminators = { 'EventSubscriptionDestination' : exports.EventSubscriptionDestination, + 'DeadLetterDestination' : exports.DeadLetterDestination, + 'DeadLetterDestination.StorageBlob' : exports.StorageBlobDeadLetterDestination, 'EventSubscriptionDestination.WebHook' : exports.WebHookEventSubscriptionDestination, - 'EventSubscriptionDestination.EventHub' : exports.EventHubEventSubscriptionDestination + 'EventSubscriptionDestination.EventHub' : exports.EventHubEventSubscriptionDestination, + 'EventSubscriptionDestination.StorageQueue' : exports.StorageQueueEventSubscriptionDestination, + 'EventSubscriptionDestination.HybridConnection' : exports.HybridConnectionEventSubscriptionDestination, + 'InputSchemaMapping' : exports.InputSchemaMapping, + 'InputSchemaMapping.Json' : exports.JsonInputSchemaMapping }; diff --git a/lib/services/eventgridManagement/lib/models/inputSchemaMapping.js b/lib/services/eventgridManagement/lib/models/inputSchemaMapping.js new file mode 100644 index 0000000000..72946a3a91 --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/inputSchemaMapping.js @@ -0,0 +1,61 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * By default, Event Grid expects events to be in the Event Grid event schema. + * Specifying an input schema mapping enables publishing to Event Grid using a + * custom input schema. Currently, the only supported type of + * InputSchemaMapping is 'JsonInputSchemaMapping'. + * + */ +class InputSchemaMapping { + /** + * Create a InputSchemaMapping. + * @member {string} inputSchemaMappingType Polymorphic Discriminator + */ + constructor() { + } + + /** + * Defines the metadata of InputSchemaMapping + * + * @returns {object} metadata of InputSchemaMapping + * + */ + mapper() { + return { + required: false, + serializedName: 'InputSchemaMapping', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'inputSchemaMappingType', + clientName: 'inputSchemaMappingType' + }, + uberParent: 'InputSchemaMapping', + className: 'InputSchemaMapping', + modelProperties: { + inputSchemaMappingType: { + required: true, + serializedName: 'inputSchemaMappingType', + isPolymorphicDiscriminator: true, + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = InputSchemaMapping; diff --git a/lib/services/eventgridManagement/lib/models/jsonField.js b/lib/services/eventgridManagement/lib/models/jsonField.js new file mode 100644 index 0000000000..54bf0a1a5b --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/jsonField.js @@ -0,0 +1,56 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * This is used to express the source of an input schema mapping for a single + * target field in the Event Grid Event schema. This is currently used in the + * mappings for the 'id','topic' and 'eventtime' properties. This represents a + * field in the input event schema. + * + */ +class JsonField { + /** + * Create a JsonField. + * @member {string} [sourceField] Name of a field in the input event schema + * that's to be used as the source of a mapping. + */ + constructor() { + } + + /** + * Defines the metadata of JsonField + * + * @returns {object} metadata of JsonField + * + */ + mapper() { + return { + required: false, + serializedName: 'JsonField', + type: { + name: 'Composite', + className: 'JsonField', + modelProperties: { + sourceField: { + required: false, + serializedName: 'sourceField', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = JsonField; diff --git a/lib/services/eventgridManagement/lib/models/jsonFieldWithDefault.js b/lib/services/eventgridManagement/lib/models/jsonFieldWithDefault.js new file mode 100644 index 0000000000..7b04c208ac --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/jsonFieldWithDefault.js @@ -0,0 +1,67 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * This is used to express the source of an input schema mapping for a single + * target field in the Event Grid Event schema. This is currently used in the + * mappings for the 'subject','eventtype' and 'dataversion' properties. This + * represents a field in the input event schema along with a default value to + * be used, and at least one of these two properties should be provided. + * + */ +class JsonFieldWithDefault { + /** + * Create a JsonFieldWithDefault. + * @member {string} [sourceField] Name of a field in the input event schema + * that's to be used as the source of a mapping. + * @member {string} [defaultValue] The default value to be used for mapping + * when a SourceField is not provided or if there's no property with the + * specified name in the published JSON event payload. + */ + constructor() { + } + + /** + * Defines the metadata of JsonFieldWithDefault + * + * @returns {object} metadata of JsonFieldWithDefault + * + */ + mapper() { + return { + required: false, + serializedName: 'JsonFieldWithDefault', + type: { + name: 'Composite', + className: 'JsonFieldWithDefault', + modelProperties: { + sourceField: { + required: false, + serializedName: 'sourceField', + type: { + name: 'String' + } + }, + defaultValue: { + required: false, + serializedName: 'defaultValue', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = JsonFieldWithDefault; diff --git a/lib/services/eventgridManagement/lib/models/jsonInputSchemaMapping.js b/lib/services/eventgridManagement/lib/models/jsonInputSchemaMapping.js new file mode 100644 index 0000000000..3c1edf2044 --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/jsonInputSchemaMapping.js @@ -0,0 +1,144 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * This enables publishing to Event Grid using a custom input schema. This can + * be used to map properties from a custom input JSON schema to the Event Grid + * event schema. + * + * @extends models['InputSchemaMapping'] + */ +class JsonInputSchemaMapping extends models['InputSchemaMapping'] { + /** + * Create a JsonInputSchemaMapping. + * @member {object} [id] The mapping information for the Id property of the + * Event Grid Event. + * @member {string} [id.sourceField] Name of a field in the input event + * schema that's to be used as the source of a mapping. + * @member {object} [topic] The mapping information for the Topic property of + * the Event Grid Event. + * @member {string} [topic.sourceField] Name of a field in the input event + * schema that's to be used as the source of a mapping. + * @member {object} [eventTime] The mapping information for the EventTime + * property of the Event Grid Event. + * @member {string} [eventTime.sourceField] Name of a field in the input + * event schema that's to be used as the source of a mapping. + * @member {object} [eventType] The mapping information for the EventType + * property of the Event Grid Event. + * @member {string} [eventType.sourceField] Name of a field in the input + * event schema that's to be used as the source of a mapping. + * @member {string} [eventType.defaultValue] The default value to be used for + * mapping when a SourceField is not provided or if there's no property with + * the specified name in the published JSON event payload. + * @member {object} [subject] The mapping information for the Subject + * property of the Event Grid Event. + * @member {string} [subject.sourceField] Name of a field in the input event + * schema that's to be used as the source of a mapping. + * @member {string} [subject.defaultValue] The default value to be used for + * mapping when a SourceField is not provided or if there's no property with + * the specified name in the published JSON event payload. + * @member {object} [dataVersion] The mapping information for the DataVersion + * property of the Event Grid Event. + * @member {string} [dataVersion.sourceField] Name of a field in the input + * event schema that's to be used as the source of a mapping. + * @member {string} [dataVersion.defaultValue] The default value to be used + * for mapping when a SourceField is not provided or if there's no property + * with the specified name in the published JSON event payload. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of JsonInputSchemaMapping + * + * @returns {object} metadata of JsonInputSchemaMapping + * + */ + mapper() { + return { + required: false, + serializedName: 'Json', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'inputSchemaMappingType', + clientName: 'inputSchemaMappingType' + }, + uberParent: 'InputSchemaMapping', + className: 'JsonInputSchemaMapping', + modelProperties: { + inputSchemaMappingType: { + required: true, + serializedName: 'inputSchemaMappingType', + isPolymorphicDiscriminator: true, + type: { + name: 'String' + } + }, + id: { + required: false, + serializedName: 'properties.id', + type: { + name: 'Composite', + className: 'JsonField' + } + }, + topic: { + required: false, + serializedName: 'properties.topic', + type: { + name: 'Composite', + className: 'JsonField' + } + }, + eventTime: { + required: false, + serializedName: 'properties.eventTime', + type: { + name: 'Composite', + className: 'JsonField' + } + }, + eventType: { + required: false, + serializedName: 'properties.eventType', + type: { + name: 'Composite', + className: 'JsonFieldWithDefault' + } + }, + subject: { + required: false, + serializedName: 'properties.subject', + type: { + name: 'Composite', + className: 'JsonFieldWithDefault' + } + }, + dataVersion: { + required: false, + serializedName: 'properties.dataVersion', + type: { + name: 'Composite', + className: 'JsonFieldWithDefault' + } + } + } + } + }; + } +} + +module.exports = JsonInputSchemaMapping; diff --git a/lib/services/eventgridManagement/lib/models/retryPolicy.js b/lib/services/eventgridManagement/lib/models/retryPolicy.js new file mode 100644 index 0000000000..78ce1f0d6a --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/retryPolicy.js @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +/** + * Information about the retry policy for an event subscription + * + */ +class RetryPolicy { + /** + * Create a RetryPolicy. + * @member {number} [maxDeliveryAttempts] Maximum number of delivery retry + * attempts for events. + * @member {number} [eventTimeToLiveInMinutes] Time To Live (in minutes) for + * events. + */ + constructor() { + } + + /** + * Defines the metadata of RetryPolicy + * + * @returns {object} metadata of RetryPolicy + * + */ + mapper() { + return { + required: false, + serializedName: 'RetryPolicy', + type: { + name: 'Composite', + className: 'RetryPolicy', + modelProperties: { + maxDeliveryAttempts: { + required: false, + serializedName: 'maxDeliveryAttempts', + type: { + name: 'Number' + } + }, + eventTimeToLiveInMinutes: { + required: false, + serializedName: 'eventTimeToLiveInMinutes', + type: { + name: 'Number' + } + } + } + } + }; + } +} + +module.exports = RetryPolicy; diff --git a/lib/services/eventgridManagement/lib/models/storageBlobDeadLetterDestination.js b/lib/services/eventgridManagement/lib/models/storageBlobDeadLetterDestination.js new file mode 100644 index 0000000000..b7d8b8013b --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/storageBlobDeadLetterDestination.js @@ -0,0 +1,79 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * Information about the storage blob based dead letter destination. + * + * @extends models['DeadLetterDestination'] + */ +class StorageBlobDeadLetterDestination extends models['DeadLetterDestination'] { + /** + * Create a StorageBlobDeadLetterDestination. + * @member {string} [resourceId] The Azure Resource ID of the storage account + * that is the destination of the deadletter events + * @member {string} [blobContainerName] The name of the Storage blob + * container that is the destination of the deadletter events + */ + constructor() { + super(); + } + + /** + * Defines the metadata of StorageBlobDeadLetterDestination + * + * @returns {object} metadata of StorageBlobDeadLetterDestination + * + */ + mapper() { + return { + required: false, + serializedName: 'StorageBlob', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'endpointType', + clientName: 'endpointType' + }, + uberParent: 'DeadLetterDestination', + className: 'StorageBlobDeadLetterDestination', + modelProperties: { + endpointType: { + required: true, + serializedName: 'endpointType', + isPolymorphicDiscriminator: true, + type: { + name: 'String' + } + }, + resourceId: { + required: false, + serializedName: 'properties.resourceId', + type: { + name: 'String' + } + }, + blobContainerName: { + required: false, + serializedName: 'properties.blobContainerName', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = StorageBlobDeadLetterDestination; diff --git a/lib/services/eventgridManagement/lib/models/storageQueueEventSubscriptionDestination.js b/lib/services/eventgridManagement/lib/models/storageQueueEventSubscriptionDestination.js new file mode 100644 index 0000000000..f802d4ffe1 --- /dev/null +++ b/lib/services/eventgridManagement/lib/models/storageQueueEventSubscriptionDestination.js @@ -0,0 +1,79 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +'use strict'; + +const models = require('./index'); + +/** + * Information about the storage queue destination for an event subscription. + * + * @extends models['EventSubscriptionDestination'] + */ +class StorageQueueEventSubscriptionDestination extends models['EventSubscriptionDestination'] { + /** + * Create a StorageQueueEventSubscriptionDestination. + * @member {string} [resourceId] The Azure Resource ID of the storage account + * that contains the queue that is the destination of an event subscription. + * @member {string} [queueName] The name of the Storage queue under a storage + * account that is the destination of an event subscription. + */ + constructor() { + super(); + } + + /** + * Defines the metadata of StorageQueueEventSubscriptionDestination + * + * @returns {object} metadata of StorageQueueEventSubscriptionDestination + * + */ + mapper() { + return { + required: false, + serializedName: 'StorageQueue', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'endpointType', + clientName: 'endpointType' + }, + uberParent: 'EventSubscriptionDestination', + className: 'StorageQueueEventSubscriptionDestination', + modelProperties: { + endpointType: { + required: true, + serializedName: 'endpointType', + isPolymorphicDiscriminator: true, + type: { + name: 'String' + } + }, + resourceId: { + required: false, + serializedName: 'properties.resourceId', + type: { + name: 'String' + } + }, + queueName: { + required: false, + serializedName: 'properties.queueName', + type: { + name: 'String' + } + } + } + } + }; + } +} + +module.exports = StorageQueueEventSubscriptionDestination; diff --git a/lib/services/eventgridManagement/lib/models/topic.js b/lib/services/eventgridManagement/lib/models/topic.js index 3ef90b3250..5a96b2a159 100644 --- a/lib/services/eventgridManagement/lib/models/topic.js +++ b/lib/services/eventgridManagement/lib/models/topic.js @@ -24,6 +24,16 @@ class Topic extends models['TrackedResource'] { * Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', * 'Canceled', 'Failed' * @member {string} [endpoint] Endpoint for the topic. + * @member {string} [inputSchema] This determines the format that Event Grid + * should expect for incoming events published to the topic. Possible values + * include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventV01Schema'. + * Default value: 'EventGridSchema' . + * @member {object} [inputSchemaMapping] This enables publishing using custom + * event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * @member {string} [inputSchemaMapping.inputSchemaMappingType] Polymorphic + * Discriminator */ constructor() { super(); @@ -103,6 +113,27 @@ class Topic extends models['TrackedResource'] { type: { name: 'String' } + }, + inputSchema: { + required: false, + serializedName: 'properties.inputSchema', + defaultValue: 'EventGridSchema', + type: { + name: 'String' + } + }, + inputSchemaMapping: { + required: false, + serializedName: 'properties.inputSchemaMapping', + type: { + name: 'Composite', + polymorphicDiscriminator: { + serializedName: 'inputSchemaMappingType', + clientName: 'inputSchemaMappingType' + }, + uberParent: 'InputSchemaMapping', + className: 'InputSchemaMapping' + } } } } diff --git a/lib/services/eventgridManagement/lib/models/topicRegenerateKeyRequest.js b/lib/services/eventgridManagement/lib/models/topicRegenerateKeyRequest.js index 339de3868c..ad78ce81d0 100644 --- a/lib/services/eventgridManagement/lib/models/topicRegenerateKeyRequest.js +++ b/lib/services/eventgridManagement/lib/models/topicRegenerateKeyRequest.js @@ -11,7 +11,7 @@ 'use strict'; /** - * Topic regenerate share access key key request + * Topic regenerate share access key request * */ class TopicRegenerateKeyRequest { diff --git a/lib/services/eventgridManagement/lib/operations/eventSubscriptions.js b/lib/services/eventgridManagement/lib/operations/eventSubscriptions.js index 14fe095427..d96562e777 100644 --- a/lib/services/eventgridManagement/lib/operations/eventSubscriptions.js +++ b/lib/services/eventgridManagement/lib/operations/eventSubscriptions.js @@ -224,6 +224,26 @@ function _get(scope, eventSubscriptionName, options, callback) { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -386,7 +406,7 @@ function _deleteMethod(scope, eventSubscriptionName, options, callback) { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -426,6 +446,29 @@ function _deleteMethod(scope, eventSubscriptionName, options, callback) { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2045,6 +2088,26 @@ function _listByResource(resourceGroupName, providerNamespace, resourceTypeName, * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2347,7 +2410,7 @@ function _beginDeleteMethod(scope, eventSubscriptionName, options, callback) { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -2387,6 +2450,29 @@ function _beginDeleteMethod(scope, eventSubscriptionName, options, callback) { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2730,6 +2816,26 @@ class EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2812,6 +2918,26 @@ class EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -2983,7 +3109,7 @@ class EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -3023,6 +3149,29 @@ class EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -3065,7 +3214,7 @@ class EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -3105,6 +3254,29 @@ class EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -4167,6 +4339,26 @@ class EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -4249,6 +4441,26 @@ class EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -4420,7 +4632,7 @@ class EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -4460,6 +4672,29 @@ class EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -4502,7 +4737,7 @@ class EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -4542,6 +4777,29 @@ class EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the diff --git a/lib/services/eventgridManagement/lib/operations/index.d.ts b/lib/services/eventgridManagement/lib/operations/index.d.ts index b3dc97d031..1e46bdfe3e 100644 --- a/lib/services/eventgridManagement/lib/operations/index.d.ts +++ b/lib/services/eventgridManagement/lib/operations/index.d.ts @@ -159,6 +159,26 @@ export interface EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -229,6 +249,26 @@ export interface EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -358,7 +398,7 @@ export interface EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -398,6 +438,29 @@ export interface EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -428,7 +491,7 @@ export interface EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -468,6 +531,29 @@ export interface EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1245,6 +1331,26 @@ export interface EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1315,6 +1421,26 @@ export interface EventSubscriptions { * * @param {array} [eventSubscriptionInfo.labels] List of user defined labels. * + * @param {string} [eventSubscriptionInfo.eventDeliverySchema] The event + * delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionInfo.retryPolicy] The retry policy for + * events. This can be used to configure maximum number of delivery attempts + * and time to live for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.maxDeliveryAttempts] + * Maximum number of delivery retry attempts for events. + * + * @param {number} [eventSubscriptionInfo.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionInfo.deadLetterDestination] The DeadLetter + * destination of the event subscription. + * + * @param {string} eventSubscriptionInfo.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1444,7 +1570,7 @@ export interface EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -1484,6 +1610,29 @@ export interface EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1514,7 +1663,7 @@ export interface EventSubscriptions { * for an EventGrid topic. * * @param {string} eventSubscriptionName Name of the event subscription to be - * created + * updated * * @param {object} eventSubscriptionUpdateParameters Updated event subscription * information @@ -1554,6 +1703,29 @@ export interface EventSubscriptions { * @param {array} [eventSubscriptionUpdateParameters.labels] List of user * defined labels. * + * @param {string} [eventSubscriptionUpdateParameters.eventDeliverySchema] The + * event delivery schema for the event subscription. Possible values include: + * 'EventGridSchema', 'InputEventSchema', 'CloudEventV01Schema' + * + * @param {object} [eventSubscriptionUpdateParameters.retryPolicy] The retry + * policy for events. This can be used to configure maximum number of delivery + * attempts and time to live for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.maxDeliveryAttempts] Maximum + * number of delivery retry attempts for events. + * + * @param {number} + * [eventSubscriptionUpdateParameters.retryPolicy.eventTimeToLiveInMinutes] + * Time To Live (in minutes) for events. + * + * @param {object} [eventSubscriptionUpdateParameters.deadLetterDestination] + * The DeadLetter destination of the event subscription. + * + * @param {string} + * eventSubscriptionUpdateParameters.deadLetterDestination.endpointType + * Polymorphic Discriminator + * * @param {object} [options] Optional Parameters. * * @param {object} [options.customHeaders] Headers that will be added to the @@ -1738,6 +1910,19 @@ export interface Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -1767,6 +1952,19 @@ export interface Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -2281,6 +2479,19 @@ export interface Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -2310,6 +2521,19 @@ export interface Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource diff --git a/lib/services/eventgridManagement/lib/operations/topics.js b/lib/services/eventgridManagement/lib/operations/topics.js index bec5bc953b..b34937d61d 100644 --- a/lib/services/eventgridManagement/lib/operations/topics.js +++ b/lib/services/eventgridManagement/lib/operations/topics.js @@ -175,6 +175,19 @@ function _get(resourceGroupName, topicName, options, callback) { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -1167,6 +1180,19 @@ function _listEventTypes(resourceGroupName, providerNamespace, resourceTypeName, * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -1751,6 +1777,19 @@ class Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -1792,6 +1831,19 @@ class Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -2510,6 +2562,19 @@ class Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource @@ -2551,6 +2616,19 @@ class Topics { * * @param {object} topicInfo Topic information * + * @param {string} [topicInfo.inputSchema] This determines the format that + * Event Grid should expect for incoming events published to the topic. + * Possible values include: 'EventGridSchema', 'CustomEventSchema', + * 'CloudEventV01Schema' + * + * @param {object} [topicInfo.inputSchemaMapping] This enables publishing using + * custom event schemas. An InputSchemaMapping can be specified to map various + * properties of a source schema to various required properties of the + * EventGridEvent schema. + * + * @param {string} topicInfo.inputSchemaMapping.inputSchemaMappingType + * Polymorphic Discriminator + * * @param {string} topicInfo.location Location of the resource * * @param {object} [topicInfo.tags] Tags of the resource