diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.net8.0.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.net8.0.cs
index 77921eec3193..a85feaa0d489 100644
--- a/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.net8.0.cs
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.net8.0.cs
@@ -150,6 +150,10 @@ public static partial class EventGridModelFactory
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementApiReleaseDeletedEventData ApiManagementApiReleaseDeletedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementApiReleaseUpdatedEventData ApiManagementApiReleaseUpdatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementApiUpdatedEventData ApiManagementApiUpdatedEventData(string resourceUri = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerClosedEventData ApiManagementCircuitBreakerClosedEventData(string backendName = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo circuitBreaker = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo ApiManagementCircuitBreakerInfo(object rules = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerOpenedEventData ApiManagementCircuitBreakerOpenedEventData(string backendName = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo circuitBreaker = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementExpiredGatewayTokenInfo ApiManagementExpiredGatewayTokenInfo(System.DateTimeOffset? expiredAtUtc = default(System.DateTimeOffset?)) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayApiAddedEventData ApiManagementGatewayApiAddedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayApiRemovedEventData ApiManagementGatewayApiRemovedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityCreatedEventData ApiManagementGatewayCertificateAuthorityCreatedEventData(string resourceUri = null) { throw null; }
@@ -160,6 +164,10 @@ public static partial class EventGridModelFactory
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationCreatedEventData ApiManagementGatewayHostnameConfigurationCreatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationDeletedEventData ApiManagementGatewayHostnameConfigurationDeletedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationUpdatedEventData ApiManagementGatewayHostnameConfigurationUpdatedEventData(string resourceUri = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo ApiManagementGatewayInfo(string gatewayId = null, string instanceId = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenExpiredEventData ApiManagementGatewayTokenExpiredEventData(Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo gatewayInfo = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementExpiredGatewayTokenInfo tokenInfo = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryEventData ApiManagementGatewayTokenNearExpiryEventData(Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo gatewayInfo = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryInfo tokenInfo = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryInfo ApiManagementGatewayTokenNearExpiryInfo(System.DateTimeOffset? expiresAtUtc = default(System.DateTimeOffset?)) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayUpdatedEventData ApiManagementGatewayUpdatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementProductCreatedEventData ApiManagementProductCreatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementProductDeletedEventData ApiManagementProductDeletedEventData(string resourceUri = null) { throw null; }
@@ -496,6 +504,8 @@ public static partial class SystemEventNames
public const string ApiManagementApiReleaseDeleted = "Microsoft.ApiManagement.APIReleaseDeleted";
public const string ApiManagementApiReleaseUpdated = "Microsoft.ApiManagement.APIReleaseUpdated";
public const string ApiManagementApiUpdated = "Microsoft.ApiManagement.APIUpdated";
+ public const string ApiManagementCircuitBreakerClosed = "Microsoft.ApiManagement.CircuitBreaker.Closed";
+ public const string ApiManagementCircuitBreakerOpened = "Microsoft.ApiManagement.CircuitBreaker.Opened";
public const string ApiManagementGatewayApiAdded = "Microsoft.ApiManagement.GatewayAPIAdded";
public const string ApiManagementGatewayApiRemoved = "Microsoft.ApiManagement.GatewayAPIRemoved";
public const string ApiManagementGatewayCertificateAuthorityCreated = "Microsoft.ApiManagement.GatewayCertificateAuthorityCreated";
@@ -506,6 +516,8 @@ public static partial class SystemEventNames
public const string ApiManagementGatewayHostnameConfigurationCreated = "Microsoft.ApiManagement.GatewayHostnameConfigurationCreated";
public const string ApiManagementGatewayHostnameConfigurationDeleted = "Microsoft.ApiManagement.GatewayHostnameConfigurationDeleted";
public const string ApiManagementGatewayHostnameConfigurationUpdated = "Microsoft.ApiManagement.GatewayHostnameConfigurationUpdated";
+ public const string ApiManagementGatewayTokenExpired = "Microsoft.ApiManagement.GatewayTokenExpired";
+ public const string ApiManagementGatewayTokenNearExpiry = "Microsoft.ApiManagement.GatewayTokenNearExpiry";
public const string ApiManagementGatewayUpdated = "Microsoft.ApiManagement.GatewayUpdated";
public const string ApiManagementProductCreated = "Microsoft.ApiManagement.ProductCreated";
public const string ApiManagementProductDeleted = "Microsoft.ApiManagement.ProductDeleted";
@@ -1678,6 +1690,28 @@ public partial class ApiManagementApiUpdatedEventData
internal ApiManagementApiUpdatedEventData() { }
public string ResourceUri { get { throw null; } }
}
+ public partial class ApiManagementCircuitBreakerClosedEventData
+ {
+ internal ApiManagementCircuitBreakerClosedEventData() { }
+ public string BackendName { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo CircuitBreaker { get { throw null; } }
+ }
+ public partial class ApiManagementCircuitBreakerInfo
+ {
+ internal ApiManagementCircuitBreakerInfo() { }
+ public object Rules { get { throw null; } }
+ }
+ public partial class ApiManagementCircuitBreakerOpenedEventData
+ {
+ internal ApiManagementCircuitBreakerOpenedEventData() { }
+ public string BackendName { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo CircuitBreaker { get { throw null; } }
+ }
+ public partial class ApiManagementExpiredGatewayTokenInfo
+ {
+ internal ApiManagementExpiredGatewayTokenInfo() { }
+ public System.DateTimeOffset? ExpiredAtUtc { get { throw null; } }
+ }
public partial class ApiManagementGatewayApiAddedEventData
{
internal ApiManagementGatewayApiAddedEventData() { }
@@ -1728,6 +1762,29 @@ public partial class ApiManagementGatewayHostnameConfigurationUpdatedEventData
internal ApiManagementGatewayHostnameConfigurationUpdatedEventData() { }
public string ResourceUri { get { throw null; } }
}
+ public partial class ApiManagementGatewayInfo
+ {
+ internal ApiManagementGatewayInfo() { }
+ public string GatewayId { get { throw null; } }
+ public string InstanceId { get { throw null; } }
+ }
+ public partial class ApiManagementGatewayTokenExpiredEventData
+ {
+ internal ApiManagementGatewayTokenExpiredEventData() { }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo GatewayInfo { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementExpiredGatewayTokenInfo TokenInfo { get { throw null; } }
+ }
+ public partial class ApiManagementGatewayTokenNearExpiryEventData
+ {
+ internal ApiManagementGatewayTokenNearExpiryEventData() { }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo GatewayInfo { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryInfo TokenInfo { get { throw null; } }
+ }
+ public partial class ApiManagementGatewayTokenNearExpiryInfo
+ {
+ internal ApiManagementGatewayTokenNearExpiryInfo() { }
+ public System.DateTimeOffset? ExpiresAtUtc { get { throw null; } }
+ }
public partial class ApiManagementGatewayUpdatedEventData
{
internal ApiManagementGatewayUpdatedEventData() { }
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.netstandard2.0.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.netstandard2.0.cs
index 77921eec3193..a85feaa0d489 100644
--- a/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.netstandard2.0.cs
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/api/Azure.Messaging.EventGrid.netstandard2.0.cs
@@ -150,6 +150,10 @@ public static partial class EventGridModelFactory
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementApiReleaseDeletedEventData ApiManagementApiReleaseDeletedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementApiReleaseUpdatedEventData ApiManagementApiReleaseUpdatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementApiUpdatedEventData ApiManagementApiUpdatedEventData(string resourceUri = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerClosedEventData ApiManagementCircuitBreakerClosedEventData(string backendName = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo circuitBreaker = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo ApiManagementCircuitBreakerInfo(object rules = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerOpenedEventData ApiManagementCircuitBreakerOpenedEventData(string backendName = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo circuitBreaker = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementExpiredGatewayTokenInfo ApiManagementExpiredGatewayTokenInfo(System.DateTimeOffset? expiredAtUtc = default(System.DateTimeOffset?)) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayApiAddedEventData ApiManagementGatewayApiAddedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayApiRemovedEventData ApiManagementGatewayApiRemovedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayCertificateAuthorityCreatedEventData ApiManagementGatewayCertificateAuthorityCreatedEventData(string resourceUri = null) { throw null; }
@@ -160,6 +164,10 @@ public static partial class EventGridModelFactory
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationCreatedEventData ApiManagementGatewayHostnameConfigurationCreatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationDeletedEventData ApiManagementGatewayHostnameConfigurationDeletedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayHostnameConfigurationUpdatedEventData ApiManagementGatewayHostnameConfigurationUpdatedEventData(string resourceUri = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo ApiManagementGatewayInfo(string gatewayId = null, string instanceId = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenExpiredEventData ApiManagementGatewayTokenExpiredEventData(Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo gatewayInfo = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementExpiredGatewayTokenInfo tokenInfo = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryEventData ApiManagementGatewayTokenNearExpiryEventData(Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo gatewayInfo = null, Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryInfo tokenInfo = null) { throw null; }
+ public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryInfo ApiManagementGatewayTokenNearExpiryInfo(System.DateTimeOffset? expiresAtUtc = default(System.DateTimeOffset?)) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayUpdatedEventData ApiManagementGatewayUpdatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementProductCreatedEventData ApiManagementProductCreatedEventData(string resourceUri = null) { throw null; }
public static Azure.Messaging.EventGrid.SystemEvents.ApiManagementProductDeletedEventData ApiManagementProductDeletedEventData(string resourceUri = null) { throw null; }
@@ -496,6 +504,8 @@ public static partial class SystemEventNames
public const string ApiManagementApiReleaseDeleted = "Microsoft.ApiManagement.APIReleaseDeleted";
public const string ApiManagementApiReleaseUpdated = "Microsoft.ApiManagement.APIReleaseUpdated";
public const string ApiManagementApiUpdated = "Microsoft.ApiManagement.APIUpdated";
+ public const string ApiManagementCircuitBreakerClosed = "Microsoft.ApiManagement.CircuitBreaker.Closed";
+ public const string ApiManagementCircuitBreakerOpened = "Microsoft.ApiManagement.CircuitBreaker.Opened";
public const string ApiManagementGatewayApiAdded = "Microsoft.ApiManagement.GatewayAPIAdded";
public const string ApiManagementGatewayApiRemoved = "Microsoft.ApiManagement.GatewayAPIRemoved";
public const string ApiManagementGatewayCertificateAuthorityCreated = "Microsoft.ApiManagement.GatewayCertificateAuthorityCreated";
@@ -506,6 +516,8 @@ public static partial class SystemEventNames
public const string ApiManagementGatewayHostnameConfigurationCreated = "Microsoft.ApiManagement.GatewayHostnameConfigurationCreated";
public const string ApiManagementGatewayHostnameConfigurationDeleted = "Microsoft.ApiManagement.GatewayHostnameConfigurationDeleted";
public const string ApiManagementGatewayHostnameConfigurationUpdated = "Microsoft.ApiManagement.GatewayHostnameConfigurationUpdated";
+ public const string ApiManagementGatewayTokenExpired = "Microsoft.ApiManagement.GatewayTokenExpired";
+ public const string ApiManagementGatewayTokenNearExpiry = "Microsoft.ApiManagement.GatewayTokenNearExpiry";
public const string ApiManagementGatewayUpdated = "Microsoft.ApiManagement.GatewayUpdated";
public const string ApiManagementProductCreated = "Microsoft.ApiManagement.ProductCreated";
public const string ApiManagementProductDeleted = "Microsoft.ApiManagement.ProductDeleted";
@@ -1678,6 +1690,28 @@ public partial class ApiManagementApiUpdatedEventData
internal ApiManagementApiUpdatedEventData() { }
public string ResourceUri { get { throw null; } }
}
+ public partial class ApiManagementCircuitBreakerClosedEventData
+ {
+ internal ApiManagementCircuitBreakerClosedEventData() { }
+ public string BackendName { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo CircuitBreaker { get { throw null; } }
+ }
+ public partial class ApiManagementCircuitBreakerInfo
+ {
+ internal ApiManagementCircuitBreakerInfo() { }
+ public object Rules { get { throw null; } }
+ }
+ public partial class ApiManagementCircuitBreakerOpenedEventData
+ {
+ internal ApiManagementCircuitBreakerOpenedEventData() { }
+ public string BackendName { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementCircuitBreakerInfo CircuitBreaker { get { throw null; } }
+ }
+ public partial class ApiManagementExpiredGatewayTokenInfo
+ {
+ internal ApiManagementExpiredGatewayTokenInfo() { }
+ public System.DateTimeOffset? ExpiredAtUtc { get { throw null; } }
+ }
public partial class ApiManagementGatewayApiAddedEventData
{
internal ApiManagementGatewayApiAddedEventData() { }
@@ -1728,6 +1762,29 @@ public partial class ApiManagementGatewayHostnameConfigurationUpdatedEventData
internal ApiManagementGatewayHostnameConfigurationUpdatedEventData() { }
public string ResourceUri { get { throw null; } }
}
+ public partial class ApiManagementGatewayInfo
+ {
+ internal ApiManagementGatewayInfo() { }
+ public string GatewayId { get { throw null; } }
+ public string InstanceId { get { throw null; } }
+ }
+ public partial class ApiManagementGatewayTokenExpiredEventData
+ {
+ internal ApiManagementGatewayTokenExpiredEventData() { }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo GatewayInfo { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementExpiredGatewayTokenInfo TokenInfo { get { throw null; } }
+ }
+ public partial class ApiManagementGatewayTokenNearExpiryEventData
+ {
+ internal ApiManagementGatewayTokenNearExpiryEventData() { }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayInfo GatewayInfo { get { throw null; } }
+ public Azure.Messaging.EventGrid.SystemEvents.ApiManagementGatewayTokenNearExpiryInfo TokenInfo { get { throw null; } }
+ }
+ public partial class ApiManagementGatewayTokenNearExpiryInfo
+ {
+ internal ApiManagementGatewayTokenNearExpiryInfo() { }
+ public System.DateTimeOffset? ExpiresAtUtc { get { throw null; } }
+ }
public partial class ApiManagementGatewayUpdatedEventData
{
internal ApiManagementGatewayUpdatedEventData() { }
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/EventGridModelFactory.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/EventGridModelFactory.cs
index fdc005e4a49a..886bced910a3 100644
--- a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/EventGridModelFactory.cs
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/EventGridModelFactory.cs
@@ -3916,6 +3916,75 @@ public static ApiManagementGatewayApiRemovedEventData ApiManagementGatewayApiRem
return new ApiManagementGatewayApiRemovedEventData(resourceUri);
}
+ /// Initializes a new instance of .
+ /// Name of the backend for which the circuit has opened.
+ /// Information related to the circuit breaker configured on the backend.
+ /// A new instance for mocking.
+ public static ApiManagementCircuitBreakerOpenedEventData ApiManagementCircuitBreakerOpenedEventData(string backendName = null, ApiManagementCircuitBreakerInfo circuitBreaker = null)
+ {
+ return new ApiManagementCircuitBreakerOpenedEventData(backendName, circuitBreaker);
+ }
+
+ /// Initializes a new instance of .
+ /// Overview of all configured rules and respective details.
+ /// A new instance for mocking.
+ public static ApiManagementCircuitBreakerInfo ApiManagementCircuitBreakerInfo(object rules = null)
+ {
+ return new ApiManagementCircuitBreakerInfo(rules);
+ }
+
+ /// Initializes a new instance of .
+ /// Name of the backend for which the circuit has closed.
+ /// Information related to the circuit breaker configured on the backend.
+ /// A new instance for mocking.
+ public static ApiManagementCircuitBreakerClosedEventData ApiManagementCircuitBreakerClosedEventData(string backendName = null, ApiManagementCircuitBreakerInfo circuitBreaker = null)
+ {
+ return new ApiManagementCircuitBreakerClosedEventData(backendName, circuitBreaker);
+ }
+
+ /// Initializes a new instance of .
+ /// Information related to a given self-hosted gateway deployment.
+ /// Information related to a gateway token that is near expiry for a self-hosted gateway deployment.
+ /// A new instance for mocking.
+ public static ApiManagementGatewayTokenNearExpiryEventData ApiManagementGatewayTokenNearExpiryEventData(ApiManagementGatewayInfo gatewayInfo = null, ApiManagementGatewayTokenNearExpiryInfo tokenInfo = null)
+ {
+ return new ApiManagementGatewayTokenNearExpiryEventData(gatewayInfo, tokenInfo);
+ }
+
+ /// Initializes a new instance of .
+ /// Id of Gateway that is used to deploy the gateway to get the configuration for. This is the ARM resource ID referenced in the Azure API Management instance.
+ /// Unique instance ID of the deployed gateway.
+ /// A new instance for mocking.
+ public static ApiManagementGatewayInfo ApiManagementGatewayInfo(string gatewayId = null, string instanceId = null)
+ {
+ return new ApiManagementGatewayInfo(gatewayId, instanceId);
+ }
+
+ /// Initializes a new instance of .
+ /// Timestamp when the gateway token will expire.
+ /// A new instance for mocking.
+ public static ApiManagementGatewayTokenNearExpiryInfo ApiManagementGatewayTokenNearExpiryInfo(DateTimeOffset? expiresAtUtc = null)
+ {
+ return new ApiManagementGatewayTokenNearExpiryInfo(expiresAtUtc);
+ }
+
+ /// Initializes a new instance of .
+ /// Information related to a given self-hosted gateway deployment.
+ /// Information related to a an expired gateway token for a self-hosted gateway deployment.
+ /// A new instance for mocking.
+ public static ApiManagementGatewayTokenExpiredEventData ApiManagementGatewayTokenExpiredEventData(ApiManagementGatewayInfo gatewayInfo = null, ApiManagementExpiredGatewayTokenInfo tokenInfo = null)
+ {
+ return new ApiManagementGatewayTokenExpiredEventData(gatewayInfo, tokenInfo);
+ }
+
+ /// Initializes a new instance of .
+ /// Timestamp when the gateway token has expired.
+ /// A new instance for mocking.
+ public static ApiManagementExpiredGatewayTokenInfo ApiManagementExpiredGatewayTokenInfo(DateTimeOffset? expiredAtUtc = null)
+ {
+ return new ApiManagementExpiredGatewayTokenInfo(expiredAtUtc);
+ }
+
/// Initializes a new instance of .
/// Type of HL7 FHIR resource.
/// Domain name of FHIR account for this resource.
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerClosedEventData.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerClosedEventData.Serialization.cs
new file mode 100644
index 000000000000..31eb88d27c1e
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerClosedEventData.Serialization.cs
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ [JsonConverter(typeof(ApiManagementCircuitBreakerClosedEventDataConverter))]
+ public partial class ApiManagementCircuitBreakerClosedEventData
+ {
+ internal static ApiManagementCircuitBreakerClosedEventData DeserializeApiManagementCircuitBreakerClosedEventData(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string backendName = default;
+ ApiManagementCircuitBreakerInfo circuitBreaker = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("backendName"u8))
+ {
+ backendName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("circuitBreaker"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ circuitBreaker = ApiManagementCircuitBreakerInfo.DeserializeApiManagementCircuitBreakerInfo(property.Value);
+ continue;
+ }
+ }
+ return new ApiManagementCircuitBreakerClosedEventData(backendName, circuitBreaker);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementCircuitBreakerClosedEventData FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementCircuitBreakerClosedEventData(document.RootElement);
+ }
+
+ internal partial class ApiManagementCircuitBreakerClosedEventDataConverter : JsonConverter
+ {
+ public override void Write(Utf8JsonWriter writer, ApiManagementCircuitBreakerClosedEventData model, JsonSerializerOptions options)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override ApiManagementCircuitBreakerClosedEventData Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ using var document = JsonDocument.ParseValue(ref reader);
+ return DeserializeApiManagementCircuitBreakerClosedEventData(document.RootElement);
+ }
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerClosedEventData.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerClosedEventData.cs
new file mode 100644
index 000000000000..7b83c972a353
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerClosedEventData.cs
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.CircuitBreaker.Closed event.
+ public partial class ApiManagementCircuitBreakerClosedEventData
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementCircuitBreakerClosedEventData()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Name of the backend for which the circuit has closed.
+ /// Information related to the circuit breaker configured on the backend.
+ internal ApiManagementCircuitBreakerClosedEventData(string backendName, ApiManagementCircuitBreakerInfo circuitBreaker)
+ {
+ BackendName = backendName;
+ CircuitBreaker = circuitBreaker;
+ }
+
+ /// Name of the backend for which the circuit has closed.
+ public string BackendName { get; }
+ /// Information related to the circuit breaker configured on the backend.
+ public ApiManagementCircuitBreakerInfo CircuitBreaker { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerInfo.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerInfo.Serialization.cs
new file mode 100644
index 000000000000..0ec9e2d0939e
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerInfo.Serialization.cs
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ public partial class ApiManagementCircuitBreakerInfo
+ {
+ internal static ApiManagementCircuitBreakerInfo DeserializeApiManagementCircuitBreakerInfo(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ object rules = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("rules"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ rules = property.Value.GetObject();
+ continue;
+ }
+ }
+ return new ApiManagementCircuitBreakerInfo(rules);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementCircuitBreakerInfo FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementCircuitBreakerInfo(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerInfo.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerInfo.cs
new file mode 100644
index 000000000000..bc5a926ea68c
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerInfo.cs
@@ -0,0 +1,28 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Information related to the circuit breaker configured on the backend.
+ public partial class ApiManagementCircuitBreakerInfo
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementCircuitBreakerInfo()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Overview of all configured rules and respective details.
+ internal ApiManagementCircuitBreakerInfo(object rules)
+ {
+ Rules = rules;
+ }
+
+ /// Overview of all configured rules and respective details.
+ public object Rules { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerOpenedEventData.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerOpenedEventData.Serialization.cs
new file mode 100644
index 000000000000..3ffa4dc25d27
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerOpenedEventData.Serialization.cs
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ [JsonConverter(typeof(ApiManagementCircuitBreakerOpenedEventDataConverter))]
+ public partial class ApiManagementCircuitBreakerOpenedEventData
+ {
+ internal static ApiManagementCircuitBreakerOpenedEventData DeserializeApiManagementCircuitBreakerOpenedEventData(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string backendName = default;
+ ApiManagementCircuitBreakerInfo circuitBreaker = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("backendName"u8))
+ {
+ backendName = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("circuitBreaker"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ circuitBreaker = ApiManagementCircuitBreakerInfo.DeserializeApiManagementCircuitBreakerInfo(property.Value);
+ continue;
+ }
+ }
+ return new ApiManagementCircuitBreakerOpenedEventData(backendName, circuitBreaker);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementCircuitBreakerOpenedEventData FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementCircuitBreakerOpenedEventData(document.RootElement);
+ }
+
+ internal partial class ApiManagementCircuitBreakerOpenedEventDataConverter : JsonConverter
+ {
+ public override void Write(Utf8JsonWriter writer, ApiManagementCircuitBreakerOpenedEventData model, JsonSerializerOptions options)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override ApiManagementCircuitBreakerOpenedEventData Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ using var document = JsonDocument.ParseValue(ref reader);
+ return DeserializeApiManagementCircuitBreakerOpenedEventData(document.RootElement);
+ }
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerOpenedEventData.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerOpenedEventData.cs
new file mode 100644
index 000000000000..537e0fa7b569
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementCircuitBreakerOpenedEventData.cs
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.CircuitBreaker.Opened event.
+ public partial class ApiManagementCircuitBreakerOpenedEventData
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementCircuitBreakerOpenedEventData()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Name of the backend for which the circuit has opened.
+ /// Information related to the circuit breaker configured on the backend.
+ internal ApiManagementCircuitBreakerOpenedEventData(string backendName, ApiManagementCircuitBreakerInfo circuitBreaker)
+ {
+ BackendName = backendName;
+ CircuitBreaker = circuitBreaker;
+ }
+
+ /// Name of the backend for which the circuit has opened.
+ public string BackendName { get; }
+ /// Information related to the circuit breaker configured on the backend.
+ public ApiManagementCircuitBreakerInfo CircuitBreaker { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementExpiredGatewayTokenInfo.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementExpiredGatewayTokenInfo.Serialization.cs
new file mode 100644
index 000000000000..26aeeadb9ace
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementExpiredGatewayTokenInfo.Serialization.cs
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ public partial class ApiManagementExpiredGatewayTokenInfo
+ {
+ internal static ApiManagementExpiredGatewayTokenInfo DeserializeApiManagementExpiredGatewayTokenInfo(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ DateTimeOffset? expiredAtUtc = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("expiredAtUtc"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ expiredAtUtc = property.Value.GetDateTimeOffset("O");
+ continue;
+ }
+ }
+ return new ApiManagementExpiredGatewayTokenInfo(expiredAtUtc);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementExpiredGatewayTokenInfo FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementExpiredGatewayTokenInfo(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementExpiredGatewayTokenInfo.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementExpiredGatewayTokenInfo.cs
new file mode 100644
index 000000000000..044ca8c535fd
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementExpiredGatewayTokenInfo.cs
@@ -0,0 +1,30 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Information related to a an expired gateway token for a self-hosted gateway deployment.
+ public partial class ApiManagementExpiredGatewayTokenInfo
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementExpiredGatewayTokenInfo()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Timestamp when the gateway token has expired.
+ internal ApiManagementExpiredGatewayTokenInfo(DateTimeOffset? expiredAtUtc)
+ {
+ ExpiredAtUtc = expiredAtUtc;
+ }
+
+ /// Timestamp when the gateway token has expired.
+ public DateTimeOffset? ExpiredAtUtc { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayInfo.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayInfo.Serialization.cs
new file mode 100644
index 000000000000..2113718a0a69
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayInfo.Serialization.cs
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Text.Json;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ public partial class ApiManagementGatewayInfo
+ {
+ internal static ApiManagementGatewayInfo DeserializeApiManagementGatewayInfo(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ string gatewayId = default;
+ string instanceId = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("gatewayId"u8))
+ {
+ gatewayId = property.Value.GetString();
+ continue;
+ }
+ if (property.NameEquals("instanceId"u8))
+ {
+ instanceId = property.Value.GetString();
+ continue;
+ }
+ }
+ return new ApiManagementGatewayInfo(gatewayId, instanceId);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementGatewayInfo FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementGatewayInfo(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayInfo.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayInfo.cs
new file mode 100644
index 000000000000..154f779c3218
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayInfo.cs
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Information related to a given self-hosted gateway deployment.
+ public partial class ApiManagementGatewayInfo
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementGatewayInfo()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Id of Gateway that is used to deploy the gateway to get the configuration for. This is the ARM resource ID referenced in the Azure API Management instance.
+ /// Unique instance ID of the deployed gateway.
+ internal ApiManagementGatewayInfo(string gatewayId, string instanceId)
+ {
+ GatewayId = gatewayId;
+ InstanceId = instanceId;
+ }
+
+ /// Id of Gateway that is used to deploy the gateway to get the configuration for. This is the ARM resource ID referenced in the Azure API Management instance.
+ public string GatewayId { get; }
+ /// Unique instance ID of the deployed gateway.
+ public string InstanceId { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenExpiredEventData.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenExpiredEventData.Serialization.cs
new file mode 100644
index 000000000000..aad653807bbd
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenExpiredEventData.Serialization.cs
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ [JsonConverter(typeof(ApiManagementGatewayTokenExpiredEventDataConverter))]
+ public partial class ApiManagementGatewayTokenExpiredEventData
+ {
+ internal static ApiManagementGatewayTokenExpiredEventData DeserializeApiManagementGatewayTokenExpiredEventData(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ ApiManagementGatewayInfo gatewayInfo = default;
+ ApiManagementExpiredGatewayTokenInfo tokenInfo = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("gatewayInfo"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ gatewayInfo = ApiManagementGatewayInfo.DeserializeApiManagementGatewayInfo(property.Value);
+ continue;
+ }
+ if (property.NameEquals("tokenInfo"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ tokenInfo = ApiManagementExpiredGatewayTokenInfo.DeserializeApiManagementExpiredGatewayTokenInfo(property.Value);
+ continue;
+ }
+ }
+ return new ApiManagementGatewayTokenExpiredEventData(gatewayInfo, tokenInfo);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementGatewayTokenExpiredEventData FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementGatewayTokenExpiredEventData(document.RootElement);
+ }
+
+ internal partial class ApiManagementGatewayTokenExpiredEventDataConverter : JsonConverter
+ {
+ public override void Write(Utf8JsonWriter writer, ApiManagementGatewayTokenExpiredEventData model, JsonSerializerOptions options)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override ApiManagementGatewayTokenExpiredEventData Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ using var document = JsonDocument.ParseValue(ref reader);
+ return DeserializeApiManagementGatewayTokenExpiredEventData(document.RootElement);
+ }
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenExpiredEventData.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenExpiredEventData.cs
new file mode 100644
index 000000000000..16ee51d4bc5a
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenExpiredEventData.cs
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayTokenExpired event.
+ public partial class ApiManagementGatewayTokenExpiredEventData
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementGatewayTokenExpiredEventData()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Information related to a given self-hosted gateway deployment.
+ /// Information related to a an expired gateway token for a self-hosted gateway deployment.
+ internal ApiManagementGatewayTokenExpiredEventData(ApiManagementGatewayInfo gatewayInfo, ApiManagementExpiredGatewayTokenInfo tokenInfo)
+ {
+ GatewayInfo = gatewayInfo;
+ TokenInfo = tokenInfo;
+ }
+
+ /// Information related to a given self-hosted gateway deployment.
+ public ApiManagementGatewayInfo GatewayInfo { get; }
+ /// Information related to a an expired gateway token for a self-hosted gateway deployment.
+ public ApiManagementExpiredGatewayTokenInfo TokenInfo { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryEventData.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryEventData.Serialization.cs
new file mode 100644
index 000000000000..faf26f896f2f
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryEventData.Serialization.cs
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ [JsonConverter(typeof(ApiManagementGatewayTokenNearExpiryEventDataConverter))]
+ public partial class ApiManagementGatewayTokenNearExpiryEventData
+ {
+ internal static ApiManagementGatewayTokenNearExpiryEventData DeserializeApiManagementGatewayTokenNearExpiryEventData(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ ApiManagementGatewayInfo gatewayInfo = default;
+ ApiManagementGatewayTokenNearExpiryInfo tokenInfo = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("gatewayInfo"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ gatewayInfo = ApiManagementGatewayInfo.DeserializeApiManagementGatewayInfo(property.Value);
+ continue;
+ }
+ if (property.NameEquals("tokenInfo"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ tokenInfo = ApiManagementGatewayTokenNearExpiryInfo.DeserializeApiManagementGatewayTokenNearExpiryInfo(property.Value);
+ continue;
+ }
+ }
+ return new ApiManagementGatewayTokenNearExpiryEventData(gatewayInfo, tokenInfo);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementGatewayTokenNearExpiryEventData FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementGatewayTokenNearExpiryEventData(document.RootElement);
+ }
+
+ internal partial class ApiManagementGatewayTokenNearExpiryEventDataConverter : JsonConverter
+ {
+ public override void Write(Utf8JsonWriter writer, ApiManagementGatewayTokenNearExpiryEventData model, JsonSerializerOptions options)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override ApiManagementGatewayTokenNearExpiryEventData Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
+ {
+ using var document = JsonDocument.ParseValue(ref reader);
+ return DeserializeApiManagementGatewayTokenNearExpiryEventData(document.RootElement);
+ }
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryEventData.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryEventData.cs
new file mode 100644
index 000000000000..b45a7338a1e1
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryEventData.cs
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Schema of the Data property of an EventGridEvent for a Microsoft.ApiManagement.GatewayTokenNearExpiry event.
+ public partial class ApiManagementGatewayTokenNearExpiryEventData
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementGatewayTokenNearExpiryEventData()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Information related to a given self-hosted gateway deployment.
+ /// Information related to a gateway token that is near expiry for a self-hosted gateway deployment.
+ internal ApiManagementGatewayTokenNearExpiryEventData(ApiManagementGatewayInfo gatewayInfo, ApiManagementGatewayTokenNearExpiryInfo tokenInfo)
+ {
+ GatewayInfo = gatewayInfo;
+ TokenInfo = tokenInfo;
+ }
+
+ /// Information related to a given self-hosted gateway deployment.
+ public ApiManagementGatewayInfo GatewayInfo { get; }
+ /// Information related to a gateway token that is near expiry for a self-hosted gateway deployment.
+ public ApiManagementGatewayTokenNearExpiryInfo TokenInfo { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryInfo.Serialization.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryInfo.Serialization.cs
new file mode 100644
index 000000000000..919d8e21c23f
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryInfo.Serialization.cs
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Text.Json;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ public partial class ApiManagementGatewayTokenNearExpiryInfo
+ {
+ internal static ApiManagementGatewayTokenNearExpiryInfo DeserializeApiManagementGatewayTokenNearExpiryInfo(JsonElement element)
+ {
+ if (element.ValueKind == JsonValueKind.Null)
+ {
+ return null;
+ }
+ DateTimeOffset? expiresAtUtc = default;
+ foreach (var property in element.EnumerateObject())
+ {
+ if (property.NameEquals("expiresAtUtc"u8))
+ {
+ if (property.Value.ValueKind == JsonValueKind.Null)
+ {
+ continue;
+ }
+ expiresAtUtc = property.Value.GetDateTimeOffset("O");
+ continue;
+ }
+ }
+ return new ApiManagementGatewayTokenNearExpiryInfo(expiresAtUtc);
+ }
+
+ /// Deserializes the model from a raw response.
+ /// The response to deserialize the model from.
+ internal static ApiManagementGatewayTokenNearExpiryInfo FromResponse(Response response)
+ {
+ using var document = JsonDocument.Parse(response.Content, ModelSerializationExtensions.JsonDocumentOptions);
+ return DeserializeApiManagementGatewayTokenNearExpiryInfo(document.RootElement);
+ }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryInfo.cs b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryInfo.cs
new file mode 100644
index 000000000000..4d9cf562de2a
--- /dev/null
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/Generated/Models/ApiManagementGatewayTokenNearExpiryInfo.cs
@@ -0,0 +1,30 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+
+namespace Azure.Messaging.EventGrid.SystemEvents
+{
+ /// Information related to a gateway token that is near expiry for a self-hosted gateway deployment.
+ public partial class ApiManagementGatewayTokenNearExpiryInfo
+ {
+ /// Initializes a new instance of .
+ internal ApiManagementGatewayTokenNearExpiryInfo()
+ {
+ }
+
+ /// Initializes a new instance of .
+ /// Timestamp when the gateway token will expire.
+ internal ApiManagementGatewayTokenNearExpiryInfo(DateTimeOffset? expiresAtUtc)
+ {
+ ExpiresAtUtc = expiresAtUtc;
+ }
+
+ /// Timestamp when the gateway token will expire.
+ public DateTimeOffset? ExpiresAtUtc { get; }
+ }
+}
diff --git a/sdk/eventgrid/Azure.Messaging.EventGrid/src/autorest.md b/sdk/eventgrid/Azure.Messaging.EventGrid/src/autorest.md
index b12e339e22f2..b6eb004c3cce 100644
--- a/sdk/eventgrid/Azure.Messaging.EventGrid/src/autorest.md
+++ b/sdk/eventgrid/Azure.Messaging.EventGrid/src/autorest.md
@@ -4,7 +4,9 @@ Run `dotnet build /t:GenerateCode` to generate code.
``` yaml
title: EventGridClient
-require: https://github.com/Azure/azure-rest-api-specs/blob/8af03db33a90581edffb8a32fea562f36b7c61a8/specification/eventgrid/data-plane/readme.md
+require:
+- /mnt/vss/_work/1/s/azure-rest-api-specs/specification/eventgrid/data-plane/readme.md
+
generation1-convenience-client: true
model-factory-for-hlc:
- MediaJobOutputAsset
@@ -209,3 +211,4 @@ directive:
$.MediaLiveEventIngestHeartbeatEventData["properties"]["ingestDriftValue"]["x-ms-client-name"] = "IngestDriftValueInternal";
$.MediaLiveEventIngestHeartbeatEventData["properties"]["lastFragmentArrivalTime"]["format"] = "date-time";
```
+