diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index e614708fb32d..656fe4f7580d 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -12583,20 +12583,22 @@ packages: dev: false file:projects/arm-eventgrid.tgz: - resolution: {integrity: sha512-A/V2fh3Cti01yjGmdetZ3+444yDy7d7WK6iqWABSRfF5cOb4z7hG5070finzATxiq/dKhRX9xZkt7As0mGRZRg==, tarball: file:projects/arm-eventgrid.tgz} + resolution: {integrity: sha512-XzSdqemhAJMLaTXNmxUVLhTQsdFqhQhiNkxy/nkbNIlrh3CtMxZudz1ZdRL5NymZoSvPTUgH2yhVYQdkRT3EZQ==, tarball: file:projects/arm-eventgrid.tgz} name: '@rush-temp/arm-eventgrid' version: 0.0.0 dependencies: '@azure/identity': 3.3.2 '@microsoft/api-extractor': 7.38.2(@types/node@18.18.8) '@types/chai': 4.3.9 + '@types/mocha': 10.0.3 '@types/node': 18.18.8 chai: 4.3.10 cross-env: 7.0.3 dotenv: 16.3.1 + esm: 3.2.25 mkdirp: 2.1.6 mocha: 10.2.0 - rimraf: 3.0.2 + rimraf: 5.0.5 ts-node: 10.9.1(@types/node@18.18.8)(typescript@5.2.2) tslib: 2.6.2 typescript: 5.2.2 diff --git a/sdk/eventgrid/arm-eventgrid/CHANGELOG.md b/sdk/eventgrid/arm-eventgrid/CHANGELOG.md index 59737fca3350..05c46a0321ce 100644 --- a/sdk/eventgrid/arm-eventgrid/CHANGELOG.md +++ b/sdk/eventgrid/arm-eventgrid/CHANGELOG.md @@ -1,16 +1,6 @@ # Release History - -## 14.2.0-beta.2 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - -## 14.2.0-beta.1 (2023-05-18) + +## 15.0.0-beta.1 (2023-11-08) **Features** @@ -20,6 +10,7 @@ - Added operation group Namespaces - Added operation group NamespaceTopicEventSubscriptions - Added operation group NamespaceTopics + - Added operation group NetworkSecurityPerimeterConfigurations - Added operation group PartnerDestinations - Added operation group PermissionBindings - Added operation group TopicSpaces @@ -35,11 +26,8 @@ - Added Interface CaCertificatesListResult - Added Interface ChannelsDeleteHeaders - Added Interface Client - - Added Interface ClientAuthentication - Added Interface ClientAuthenticationSettings - Added Interface ClientCertificateAuthentication - - Added Interface ClientCertificateSubjectDistinguishedName - - Added Interface ClientCertificateThumbprint - Added Interface ClientGroup - Added Interface ClientGroupsCreateOrUpdateOptionalParams - Added Interface ClientGroupsDeleteHeaders @@ -70,6 +58,7 @@ - Added Interface FiltersConfiguration - Added Interface IsNotNullFilter - Added Interface IsNullOrUndefinedFilter + - Added Interface MonitorAlertEventSubscriptionDestination - Added Interface Namespace - Added Interface NamespaceRegenerateKeyRequest - Added Interface NamespacesCreateOrUpdateOptionalParams @@ -89,9 +78,11 @@ - Added Interface NamespacesUpdateHeaders - Added Interface NamespacesUpdateOptionalParams - Added Interface NamespaceTopic + - Added Interface NamespaceTopicEventSubscriptionDestination - Added Interface NamespaceTopicEventSubscriptionsCreateOrUpdateOptionalParams - Added Interface NamespaceTopicEventSubscriptionsDeleteHeaders - Added Interface NamespaceTopicEventSubscriptionsDeleteOptionalParams + - Added Interface NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams - Added Interface NamespaceTopicEventSubscriptionsGetOptionalParams - Added Interface NamespaceTopicEventSubscriptionsListByNamespaceTopicNextOptionalParams - Added Interface NamespaceTopicEventSubscriptionsListByNamespaceTopicOptionalParams @@ -111,6 +102,16 @@ - Added Interface NamespaceTopicsUpdateOptionalParams - Added Interface NamespaceTopicUpdateParameters - Added Interface NamespaceUpdateParameters + - Added Interface NetworkSecurityPerimeterConfiguration + - Added Interface NetworkSecurityPerimeterConfigurationIssues + - Added Interface NetworkSecurityPerimeterConfigurationList + - Added Interface NetworkSecurityPerimeterConfigurationProfile + - Added Interface NetworkSecurityPerimeterConfigurationsGetOptionalParams + - Added Interface NetworkSecurityPerimeterConfigurationsListOptionalParams + - Added Interface NetworkSecurityPerimeterConfigurationsReconcileHeaders + - Added Interface NetworkSecurityPerimeterConfigurationsReconcileOptionalParams + - Added Interface NetworkSecurityPerimeterInfo + - Added Interface NetworkSecurityPerimeterProfileAccessRule - Added Interface NumberGreaterThanFilter - Added Interface NumberGreaterThanOrEqualsFilter - Added Interface NumberInFilter @@ -152,12 +153,15 @@ - Added Interface PermissionBindingsListByNamespaceOptionalParams - Added Interface PermissionBindingsListResult - Added Interface PrivateEndpointConnectionsDeleteHeaders + - Added Interface PushInfo - Added Interface QueueInfo + - Added Interface ResourceAssociation - Added Interface ResourceMoveChangeHistory - Added Interface ResourceSku - Added Interface RoutingEnrichments - Added Interface RoutingIdentityInfo - Added Interface StaticRoutingEnrichment + - Added Interface StaticStringRoutingEnrichment - Added Interface StringBeginsWithFilter - Added Interface StringContainsFilter - Added Interface StringEndsWithFilter @@ -184,6 +188,7 @@ - Added Interface TopicSpacesListByNamespaceOptionalParams - Added Interface TopicSpacesListResult - Added Interface TopicsRegenerateKeyHeaders + - Added Interface TopicTypeAdditionalEnforcedPermission - Added Interface UpdateTopicSpacesConfigurationInfo - Added Interface WebhookPartnerDestinationInfo - Added Interface WebhookUpdatePartnerDestinationInfo @@ -210,6 +215,7 @@ - Added Type Alias EventInputSchema - Added Type Alias FilterOperatorType - Added Type Alias FilterUnion + - Added Type Alias MonitorAlertSeverity - Added Type Alias NamespaceProvisioningState - Added Type Alias NamespacesCreateOrUpdateResponse - Added Type Alias NamespacesGetResponse @@ -221,6 +227,7 @@ - Added Type Alias NamespacesRegenerateKeyResponse - Added Type Alias NamespacesUpdateResponse - Added Type Alias NamespaceTopicEventSubscriptionsCreateOrUpdateResponse + - Added Type Alias NamespaceTopicEventSubscriptionsGetDeliveryAttributesResponse - Added Type Alias NamespaceTopicEventSubscriptionsGetResponse - Added Type Alias NamespaceTopicEventSubscriptionsListByNamespaceTopicNextResponse - Added Type Alias NamespaceTopicEventSubscriptionsListByNamespaceTopicResponse @@ -233,6 +240,15 @@ - Added Type Alias NamespaceTopicsListSharedAccessKeysResponse - Added Type Alias NamespaceTopicsRegenerateKeyResponse - Added Type Alias NamespaceTopicsUpdateResponse + - Added Type Alias NetworkSecurityPerimeterAssociationAccessMode + - Added Type Alias NetworkSecurityPerimeterConfigProvisioningState + - Added Type Alias NetworkSecurityPerimeterConfigurationIssueSeverity + - Added Type Alias NetworkSecurityPerimeterConfigurationIssueType + - Added Type Alias NetworkSecurityPerimeterConfigurationsGetResponse + - Added Type Alias NetworkSecurityPerimeterConfigurationsListResponse + - Added Type Alias NetworkSecurityPerimeterConfigurationsReconcileResponse + - Added Type Alias NetworkSecurityPerimeterProfileAccessRuleDirection + - Added Type Alias NetworkSecurityPerimeterResourceType - Added Type Alias PartnerClientAuthenticationType - Added Type Alias PartnerClientAuthenticationUnion - Added Type Alias PartnerDestinationActivationState @@ -261,6 +277,7 @@ - Added Type Alias Sku - Added Type Alias SkuName - Added Type Alias StaticRoutingEnrichmentType + - Added Type Alias StaticRoutingEnrichmentUnion - Added Type Alias SubscriptionProvisioningState - Added Type Alias TlsVersion - Added Type Alias TopicsDeleteResponse @@ -285,13 +302,14 @@ - Interface Topic has a new optional parameter kind - Interface Topic has a new optional parameter minimumTlsVersionAllowed - Interface Topic has a new optional parameter sku + - Interface TopicTypeInfo has a new optional parameter additionalEnforcedPermissions - Interface TopicTypeInfo has a new optional parameter areRegionalAndGlobalSourcesSupported - Interface TopicUpdateParameters has a new optional parameter eventTypeInfo - Interface TopicUpdateParameters has a new optional parameter minimumTlsVersionAllowed - Interface TopicUpdateParameters has a new optional parameter sku - Interface VerifiedPartner has a new optional parameter partnerDestinationDetails - Interface WebHookEventSubscriptionDestination has a new optional parameter minimumTlsVersionAllowed - - Type of parameter endpointType of interface EventSubscriptionDestination is changed from "WebHook" | "EventHub" | "StorageQueue" | "HybridConnection" | "ServiceBusQueue" | "ServiceBusTopic" | "AzureFunction" to "WebHook" | "EventHub" | "StorageQueue" | "HybridConnection" | "ServiceBusQueue" | "ServiceBusTopic" | "AzureFunction" | "PartnerDestination" + - Type of parameter endpointType of interface EventSubscriptionDestination is changed from "WebHook" | "EventHub" | "StorageQueue" | "HybridConnection" | "ServiceBusQueue" | "ServiceBusTopic" | "AzureFunction" to "WebHook" | "EventHub" | "StorageQueue" | "HybridConnection" | "ServiceBusQueue" | "ServiceBusTopic" | "AzureFunction" | "PartnerDestination" | "MonitorAlert" | "NamespaceTopic" - Added Enum KnownAlternativeAuthenticationNameSource - Added Enum KnownCaCertificateProvisioningState - Added Enum KnownClientCertificateValidationScheme @@ -302,8 +320,15 @@ - Added Enum KnownDeliverySchema - Added Enum KnownEventInputSchema - Added Enum KnownFilterOperatorType + - Added Enum KnownMonitorAlertSeverity - Added Enum KnownNamespaceProvisioningState - Added Enum KnownNamespaceTopicProvisioningState + - Added Enum KnownNetworkSecurityPerimeterAssociationAccessMode + - Added Enum KnownNetworkSecurityPerimeterConfigProvisioningState + - Added Enum KnownNetworkSecurityPerimeterConfigurationIssueSeverity + - Added Enum KnownNetworkSecurityPerimeterConfigurationIssueType + - Added Enum KnownNetworkSecurityPerimeterProfileAccessRuleDirection + - Added Enum KnownNetworkSecurityPerimeterResourceType - Added Enum KnownPartnerClientAuthenticationType - Added Enum KnownPartnerDestinationActivationState - Added Enum KnownPartnerDestinationProvisioningState @@ -322,8 +347,15 @@ - Added Enum KnownTopicSpacesConfigurationState - Enum KnownChannelProvisioningState has a new value IdleDueToMirroredPartnerDestinationDeletion - Enum KnownChannelType has a new value PartnerDestination + - Enum KnownEndpointType has a new value MonitorAlert + - Enum KnownEndpointType has a new value NamespaceTopic - Enum KnownEndpointType has a new value PartnerDestination - Enum KnownPrivateEndpointConnectionsParentType has a new value Namespaces + - Enum KnownPublicNetworkAccess has a new value SecuredByPerimeter + +**Breaking Changes** + + - Class EventGridManagementClient has a new signature ## 14.1.0 (2023-01-10) @@ -712,4 +744,4 @@ To understand the detail of the change, please refer to [Changelog](https://aka. To migrate the existing applications to the latest version, please refer to [Migration Guide](https://aka.ms/js-track2-migration-guide). -To learn more, please refer to our documentation [Quick Start](https://aka.ms/azsdk/js/mgmt/quickstart ). +To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart). diff --git a/sdk/eventgrid/arm-eventgrid/_meta.json b/sdk/eventgrid/arm-eventgrid/_meta.json index 4f8d69874983..92f69d9d9b14 100644 --- a/sdk/eventgrid/arm-eventgrid/_meta.json +++ b/sdk/eventgrid/arm-eventgrid/_meta.json @@ -1,8 +1,8 @@ { - "commit": "c2c2f7a359c217380a5ae047e153bac36c404a0c", + "commit": "63e04bcd11674e14195bd7f8cb5798e1d2a4d02f", "readme": "specification/eventgrid/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\eventgrid\\resource-manager\\readme.md --use=@autorest/typescript@6.0.1 --generate-sample=true", + "autorest_command": "autorest --version=3.9.7 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/eventgrid/resource-manager/readme.md --use=@autorest/typescript@^6.0.12", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.6.2", - "use": "@autorest/typescript@6.0.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.4", + "use": "@autorest/typescript@^6.0.12" } \ No newline at end of file diff --git a/sdk/eventgrid/arm-eventgrid/package.json b/sdk/eventgrid/arm-eventgrid/package.json index cf5e6bebfd97..07a17a254eb8 100644 --- a/sdk/eventgrid/arm-eventgrid/package.json +++ b/sdk/eventgrid/arm-eventgrid/package.json @@ -3,17 +3,17 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for EventGridManagementClient.", - "version": "14.2.0-beta.2", + "version": "15.0.0-beta.1", "engines": { "node": ">=18.0.0" }, "dependencies": { - "@azure/core-lro": "^2.5.0", + "@azure/core-lro": "^2.5.4", "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", "@azure/core-client": "^1.7.0", "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.8.0", + "@azure/core-rest-pipeline": "^1.12.0", "tslib": "^2.2.0" }, "keywords": [ @@ -32,17 +32,19 @@ "mkdirp": "^2.1.2", "typescript": "~5.2.0", "uglify-js": "^3.4.9", - "rimraf": "^3.0.0", + "rimraf": "^5.0.0", "dotenv": "^16.0.0", + "@azure/dev-tool": "^1.0.0", "@azure/identity": "^3.3.0", "@azure-tools/test-recorder": "^3.0.0", "@azure-tools/test-credential": "^1.0.0", "mocha": "^10.0.0", + "@types/mocha": "^10.0.0", + "esm": "^3.2.18", "@types/chai": "^4.2.8", "chai": "^4.2.0", "cross-env": "^7.0.2", "@types/node": "^18.0.0", - "@azure/dev-tool": "^1.0.0", "ts-node": "^10.0.0" }, "repository": { @@ -77,7 +79,7 @@ "extract-api": "api-extractor run --local", "lint": "echo skipped", "audit": "echo skipped", - "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", + "clean": "rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log", "build:node": "echo skipped", "build:browser": "echo skipped", "build:test": "echo skipped", @@ -105,13 +107,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventgrid/arm-eventgrid", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-eventgrid?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/eventgrid/arm-eventgrid" +} \ No newline at end of file diff --git a/sdk/eventgrid/arm-eventgrid/review/arm-eventgrid.api.md b/sdk/eventgrid/arm-eventgrid/review/arm-eventgrid.api.md index 5c5b9b885f28..04c2b62ded0b 100644 --- a/sdk/eventgrid/arm-eventgrid/review/arm-eventgrid.api.md +++ b/sdk/eventgrid/arm-eventgrid/review/arm-eventgrid.api.md @@ -226,7 +226,6 @@ export interface Client extends Resource { attributes?: { [propertyName: string]: any; }; - authentication?: ClientAuthentication; authenticationName?: string; clientCertificateAuthentication?: ClientCertificateAuthentication; description?: string; @@ -235,12 +234,6 @@ export interface Client extends Resource { readonly systemData?: SystemData; } -// @public -export interface ClientAuthentication { - certificateSubject?: ClientCertificateSubjectDistinguishedName; - certificateThumbprint?: ClientCertificateThumbprint; -} - // @public export interface ClientAuthenticationSettings { alternativeAuthenticationNameSources?: AlternativeAuthenticationNameSource[]; @@ -252,20 +245,6 @@ export interface ClientCertificateAuthentication { validationScheme?: ClientCertificateValidationScheme; } -// @public -export interface ClientCertificateSubjectDistinguishedName { - commonName?: string; - countryCode?: string; - organization?: string; - organizationUnit?: string; -} - -// @public -export interface ClientCertificateThumbprint { - primary?: string; - secondary?: string; -} - // @public export type ClientCertificateValidationScheme = string; @@ -456,6 +435,7 @@ export type DeliveryAttributeMappingUnion = DeliveryAttributeMapping | StaticDel // @public export interface DeliveryConfiguration { deliveryMode?: DeliveryMode; + push?: PushInfo; queue?: QueueInfo; } @@ -901,6 +881,7 @@ export class EventGridManagementClient extends coreClient.ServiceClient { // (undocumented) $host: string; constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: EventGridManagementClientOptionalParams); + constructor(credentials: coreAuth.TokenCredential, options?: EventGridManagementClientOptionalParams); // (undocumented) apiVersion: string; // (undocumented) @@ -930,6 +911,8 @@ export class EventGridManagementClient extends coreClient.ServiceClient { // (undocumented) namespaceTopics: NamespaceTopics; // (undocumented) + networkSecurityPerimeterConfigurations: NetworkSecurityPerimeterConfigurations; + // (undocumented) operations: Operations; // (undocumented) partnerConfigurations: PartnerConfigurations; @@ -950,7 +933,7 @@ export class EventGridManagementClient extends coreClient.ServiceClient { // (undocumented) privateLinkResources: PrivateLinkResources; // (undocumented) - subscriptionId: string; + subscriptionId?: string; // (undocumented) systemTopicEventSubscriptions: SystemTopicEventSubscriptions; // (undocumented) @@ -1002,11 +985,11 @@ export interface EventSubscription extends Resource { // @public export interface EventSubscriptionDestination { - endpointType: "WebHook" | "EventHub" | "StorageQueue" | "HybridConnection" | "ServiceBusQueue" | "ServiceBusTopic" | "AzureFunction" | "PartnerDestination"; + endpointType: "WebHook" | "EventHub" | "StorageQueue" | "HybridConnection" | "ServiceBusQueue" | "ServiceBusTopic" | "AzureFunction" | "PartnerDestination" | "MonitorAlert" | "NamespaceTopic"; } // @public (undocumented) -export type EventSubscriptionDestinationUnion = EventSubscriptionDestination | WebHookEventSubscriptionDestination | EventHubEventSubscriptionDestination | StorageQueueEventSubscriptionDestination | HybridConnectionEventSubscriptionDestination | ServiceBusQueueEventSubscriptionDestination | ServiceBusTopicEventSubscriptionDestination | AzureFunctionEventSubscriptionDestination | PartnerEventSubscriptionDestination; +export type EventSubscriptionDestinationUnion = EventSubscriptionDestination | WebHookEventSubscriptionDestination | EventHubEventSubscriptionDestination | StorageQueueEventSubscriptionDestination | HybridConnectionEventSubscriptionDestination | ServiceBusQueueEventSubscriptionDestination | ServiceBusTopicEventSubscriptionDestination | AzureFunctionEventSubscriptionDestination | PartnerEventSubscriptionDestination | MonitorAlertEventSubscriptionDestination | NamespaceTopicEventSubscriptionDestination; // @public export interface EventSubscriptionFilter { @@ -1574,6 +1557,7 @@ export enum KnownDeliveryAttributeMappingType { // @public export enum KnownDeliveryMode { + Push = "Push", Queue = "Queue" } @@ -1607,6 +1591,8 @@ export enum KnownEndpointType { AzureFunction = "AzureFunction", EventHub = "EventHub", HybridConnection = "HybridConnection", + MonitorAlert = "MonitorAlert", + NamespaceTopic = "NamespaceTopic", PartnerDestination = "PartnerDestination", ServiceBusQueue = "ServiceBusQueue", ServiceBusTopic = "ServiceBusTopic", @@ -1696,6 +1682,15 @@ export enum KnownIpActionType { Allow = "Allow" } +// @public +export enum KnownMonitorAlertSeverity { + Sev0 = "Sev0", + Sev1 = "Sev1", + Sev2 = "Sev2", + Sev3 = "Sev3", + Sev4 = "Sev4" +} + // @public export enum KnownNamespaceProvisioningState { Canceled = "Canceled", @@ -1724,6 +1719,51 @@ export enum KnownNamespaceTopicProvisioningState { Updating = "Updating" } +// @public +export enum KnownNetworkSecurityPerimeterAssociationAccessMode { + Audit = "Audit", + Enforced = "Enforced", + Learning = "Learning" +} + +// @public +export enum KnownNetworkSecurityPerimeterConfigProvisioningState { + Accepted = "Accepted", + Canceled = "Canceled", + Creating = "Creating", + Deleted = "Deleted", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating" +} + +// @public +export enum KnownNetworkSecurityPerimeterConfigurationIssueSeverity { + Error = "Error", + Warning = "Warning" +} + +// @public +export enum KnownNetworkSecurityPerimeterConfigurationIssueType { + ConfigurationPropagationFailure = "ConfigurationPropagationFailure", + MissingIdentityConfiguration = "MissingIdentityConfiguration", + MissingPerimeterConfiguration = "MissingPerimeterConfiguration", + Other = "Other" +} + +// @public +export enum KnownNetworkSecurityPerimeterProfileAccessRuleDirection { + Inbound = "Inbound", + Outbound = "Outbound" +} + +// @public +export enum KnownNetworkSecurityPerimeterResourceType { + Domains = "domains", + Topics = "topics" +} + // @public export enum KnownPartnerClientAuthenticationType { AzureAD = "AzureAD" @@ -1841,7 +1881,8 @@ export enum KnownPrivateEndpointConnectionsParentType { // @public export enum KnownPublicNetworkAccess { Disabled = "Disabled", - Enabled = "Enabled" + Enabled = "Enabled", + SecuredByPerimeter = "SecuredByPerimeter" } // @public @@ -1977,6 +2018,17 @@ export enum KnownVerifiedPartnerProvisioningState { Updating = "Updating" } +// @public +export interface MonitorAlertEventSubscriptionDestination extends EventSubscriptionDestination { + actionGroups?: string[]; + description?: string; + endpointType: "MonitorAlert"; + severity?: MonitorAlertSeverity; +} + +// @public +export type MonitorAlertSeverity = string; + // @public export interface Namespace extends TrackedResource { identity?: IdentityInfo; @@ -2141,6 +2193,12 @@ export interface NamespaceTopic extends Resource { readonly systemData?: SystemData; } +// @public +export interface NamespaceTopicEventSubscriptionDestination extends EventSubscriptionDestination { + endpointType: "NamespaceTopic"; + resourceId?: string; +} + // @public export interface NamespaceTopicEventSubscriptions { beginCreateOrUpdate(resourceGroupName: string, namespaceName: string, topicName: string, eventSubscriptionName: string, eventSubscriptionInfo: Subscription, options?: NamespaceTopicEventSubscriptionsCreateOrUpdateOptionalParams): Promise, NamespaceTopicEventSubscriptionsCreateOrUpdateResponse>>; @@ -2150,6 +2208,7 @@ export interface NamespaceTopicEventSubscriptions { beginUpdate(resourceGroupName: string, namespaceName: string, topicName: string, eventSubscriptionName: string, eventSubscriptionUpdateParameters: SubscriptionUpdateParameters, options?: NamespaceTopicEventSubscriptionsUpdateOptionalParams): Promise, NamespaceTopicEventSubscriptionsUpdateResponse>>; beginUpdateAndWait(resourceGroupName: string, namespaceName: string, topicName: string, eventSubscriptionName: string, eventSubscriptionUpdateParameters: SubscriptionUpdateParameters, options?: NamespaceTopicEventSubscriptionsUpdateOptionalParams): Promise; get(resourceGroupName: string, namespaceName: string, topicName: string, eventSubscriptionName: string, options?: NamespaceTopicEventSubscriptionsGetOptionalParams): Promise; + getDeliveryAttributes(resourceGroupName: string, namespaceName: string, topicName: string, eventSubscriptionName: string, options?: NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams): Promise; listByNamespaceTopic(resourceGroupName: string, namespaceName: string, topicName: string, options?: NamespaceTopicEventSubscriptionsListByNamespaceTopicOptionalParams): PagedAsyncIterableIterator; } @@ -2174,6 +2233,13 @@ export interface NamespaceTopicEventSubscriptionsDeleteOptionalParams extends co updateIntervalInMs?: number; } +// @public +export interface NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NamespaceTopicEventSubscriptionsGetDeliveryAttributesResponse = DeliveryAttributeListResult; + // @public export interface NamespaceTopicEventSubscriptionsGetOptionalParams extends coreClient.OperationOptions { } @@ -2334,6 +2400,116 @@ export interface NamespaceUpdateParameters { topicSpacesConfiguration?: UpdateTopicSpacesConfigurationInfo; } +// @public +export type NetworkSecurityPerimeterAssociationAccessMode = string; + +// @public +export type NetworkSecurityPerimeterConfigProvisioningState = string; + +// @public +export interface NetworkSecurityPerimeterConfiguration extends Resource { + networkSecurityPerimeter?: NetworkSecurityPerimeterInfo; + profile?: NetworkSecurityPerimeterConfigurationProfile; + provisioningIssues?: NetworkSecurityPerimeterConfigurationIssues[]; + provisioningState?: NetworkSecurityPerimeterConfigProvisioningState; + resourceAssociation?: ResourceAssociation; +} + +// @public +export interface NetworkSecurityPerimeterConfigurationIssues { + description?: string; + issueType?: NetworkSecurityPerimeterConfigurationIssueType; + name?: string; + severity?: NetworkSecurityPerimeterConfigurationIssueSeverity; + suggestedAccessRules?: string[]; + suggestedResourceIds?: string[]; +} + +// @public +export type NetworkSecurityPerimeterConfigurationIssueSeverity = string; + +// @public +export type NetworkSecurityPerimeterConfigurationIssueType = string; + +// @public +export interface NetworkSecurityPerimeterConfigurationList { + nextLink?: string; + value?: NetworkSecurityPerimeterConfiguration[]; +} + +// @public +export interface NetworkSecurityPerimeterConfigurationProfile { + accessRules?: NetworkSecurityPerimeterProfileAccessRule[]; + accessRulesVersion?: string; + diagnosticSettingsVersion?: string; + enabledLogCategories?: string[]; + name?: string; +} + +// @public +export interface NetworkSecurityPerimeterConfigurations { + beginReconcile(resourceGroupName: string, resourceType: NetworkSecurityPerimeterResourceType, resourceName: string, perimeterGuid: string, associationName: string, options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams): Promise, NetworkSecurityPerimeterConfigurationsReconcileResponse>>; + beginReconcileAndWait(resourceGroupName: string, resourceType: NetworkSecurityPerimeterResourceType, resourceName: string, perimeterGuid: string, associationName: string, options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams): Promise; + get(resourceGroupName: string, resourceType: NetworkSecurityPerimeterResourceType, resourceName: string, perimeterGuid: string, associationName: string, options?: NetworkSecurityPerimeterConfigurationsGetOptionalParams): Promise; + list(resourceGroupName: string, resourceType: NetworkSecurityPerimeterResourceType, resourceName: string, options?: NetworkSecurityPerimeterConfigurationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface NetworkSecurityPerimeterConfigurationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterConfigurationsGetResponse = NetworkSecurityPerimeterConfiguration; + +// @public +export interface NetworkSecurityPerimeterConfigurationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterConfigurationsListResponse = NetworkSecurityPerimeterConfigurationList; + +// @public +export interface NetworkSecurityPerimeterConfigurationsReconcileHeaders { + // (undocumented) + location?: string; +} + +// @public +export interface NetworkSecurityPerimeterConfigurationsReconcileOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type NetworkSecurityPerimeterConfigurationsReconcileResponse = NetworkSecurityPerimeterConfiguration; + +// @public +export interface NetworkSecurityPerimeterInfo { + id?: string; + location?: string; + perimeterGuid?: string; +} + +// @public +export interface NetworkSecurityPerimeterProfileAccessRule { + addressPrefixes?: string[]; + direction?: NetworkSecurityPerimeterProfileAccessRuleDirection; + emailAddresses?: string[]; + fullyQualifiedArmId?: string; + fullyQualifiedDomainNames?: string[]; + name?: string; + networkSecurityPerimeters?: NetworkSecurityPerimeterInfo[]; + phoneNumbers?: string[]; + subscriptions?: string[]; + type?: string; +} + +// @public +export type NetworkSecurityPerimeterProfileAccessRuleDirection = string; + +// @public +export type NetworkSecurityPerimeterResourceType = string; + // @public export interface NumberGreaterThanAdvancedFilter extends AdvancedFilter { operatorType: "NumberGreaterThan"; @@ -3455,6 +3631,14 @@ export type PublicNetworkAccess = string; // @public export type PublisherType = string; +// @public +export interface PushInfo { + deadLetterDestinationWithResourceIdentity?: DeadLetterWithResourceIdentity; + deliveryWithResourceIdentity?: DeliveryWithResourceIdentity; + eventTimeToLive?: string; + maxDeliveryCount?: number; +} + // @public export interface QueueInfo { deadLetterDestinationWithResourceIdentity?: DeadLetterWithResourceIdentity; @@ -3473,6 +3657,12 @@ export interface Resource { readonly type?: string; } +// @public +export interface ResourceAssociation { + accessMode?: NetworkSecurityPerimeterAssociationAccessMode; + name?: string; +} + // @public export type ResourceKind = string; @@ -3505,7 +3695,7 @@ export interface RoutingEnrichments { // (undocumented) dynamic?: DynamicRoutingEnrichment[]; // (undocumented) - static?: StaticRoutingEnrichment[]; + static?: StaticRoutingEnrichmentUnion[]; } // @public @@ -3546,15 +3736,24 @@ export interface StaticDeliveryAttributeMapping extends DeliveryAttributeMapping value?: string; } -// @public (undocumented) +// @public export interface StaticRoutingEnrichment { key?: string; - valueType?: StaticRoutingEnrichmentType; + valueType: "String"; } // @public export type StaticRoutingEnrichmentType = string; +// @public (undocumented) +export type StaticRoutingEnrichmentUnion = StaticRoutingEnrichment | StaticStringRoutingEnrichment; + +// @public (undocumented) +export interface StaticStringRoutingEnrichment extends StaticRoutingEnrichment { + value?: string; + valueType: "String"; +} + // @public export interface StorageBlobDeadLetterDestination extends DeadLetterDestination { blobContainerName?: string; @@ -4219,8 +4418,17 @@ export interface TopicsUpdateOptionalParams extends coreClient.OperationOptions updateIntervalInMs?: number; } +// @public (undocumented) +export interface TopicTypeAdditionalEnforcedPermission { + // (undocumented) + isDataAction?: boolean; + // (undocumented) + permissionName?: string; +} + // @public export interface TopicTypeInfo extends Resource { + additionalEnforcedPermissions?: TopicTypeAdditionalEnforcedPermission[]; areRegionalAndGlobalSourcesSupported?: boolean; description?: string; displayName?: string; diff --git a/sdk/eventgrid/arm-eventgrid/src/eventGridManagementClient.ts b/sdk/eventgrid/arm-eventgrid/src/eventGridManagementClient.ts index e4a7a179e589..dc9a19a051cd 100644 --- a/sdk/eventgrid/arm-eventgrid/src/eventGridManagementClient.ts +++ b/sdk/eventgrid/arm-eventgrid/src/eventGridManagementClient.ts @@ -36,6 +36,7 @@ import { PartnerNamespacesImpl, PartnerRegistrationsImpl, PartnerTopicsImpl, + NetworkSecurityPerimeterConfigurationsImpl, PermissionBindingsImpl, PrivateEndpointConnectionsImpl, PrivateLinkResourcesImpl, @@ -68,6 +69,7 @@ import { PartnerNamespaces, PartnerRegistrations, PartnerTopics, + NetworkSecurityPerimeterConfigurations, PermissionBindings, PrivateEndpointConnections, PrivateLinkResources, @@ -82,7 +84,7 @@ import { EventGridManagementClientOptionalParams } from "./models"; export class EventGridManagementClient extends coreClient.ServiceClient { $host: string; - subscriptionId: string; + subscriptionId?: string; apiVersion: string; /** @@ -96,12 +98,26 @@ export class EventGridManagementClient extends coreClient.ServiceClient { credentials: coreAuth.TokenCredential, subscriptionId: string, options?: EventGridManagementClientOptionalParams + ); + constructor( + credentials: coreAuth.TokenCredential, + options?: EventGridManagementClientOptionalParams + ); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionIdOrOptions?: EventGridManagementClientOptionalParams | string, + options?: EventGridManagementClientOptionalParams ) { if (credentials === undefined) { throw new Error("'credentials' cannot be null"); } - if (subscriptionId === undefined) { - throw new Error("'subscriptionId' cannot be null"); + + let subscriptionId: string | undefined; + + if (typeof subscriptionIdOrOptions === "string") { + subscriptionId = subscriptionIdOrOptions; + } else if (typeof subscriptionIdOrOptions === "object") { + options = subscriptionIdOrOptions; } // Initializing default values for options @@ -113,7 +129,7 @@ export class EventGridManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-eventgrid/14.2.0-beta.2`; + const packageDetails = `azsdk-js-arm-eventgrid/15.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -166,7 +182,7 @@ export class EventGridManagementClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2023-06-01-preview"; + this.apiVersion = options.apiVersion || "2023-12-15-preview"; this.caCertificates = new CaCertificatesImpl(this); this.channels = new ChannelsImpl(this); this.clientGroups = new ClientGroupsImpl(this); @@ -196,6 +212,9 @@ export class EventGridManagementClient extends coreClient.ServiceClient { this.partnerNamespaces = new PartnerNamespacesImpl(this); this.partnerRegistrations = new PartnerRegistrationsImpl(this); this.partnerTopics = new PartnerTopicsImpl(this); + this.networkSecurityPerimeterConfigurations = new NetworkSecurityPerimeterConfigurationsImpl( + this + ); this.permissionBindings = new PermissionBindingsImpl(this); this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); this.privateLinkResources = new PrivateLinkResourcesImpl(this); @@ -257,6 +276,7 @@ export class EventGridManagementClient extends coreClient.ServiceClient { partnerNamespaces: PartnerNamespaces; partnerRegistrations: PartnerRegistrations; partnerTopics: PartnerTopics; + networkSecurityPerimeterConfigurations: NetworkSecurityPerimeterConfigurations; permissionBindings: PermissionBindings; privateEndpointConnections: PrivateEndpointConnections; privateLinkResources: PrivateLinkResources; diff --git a/sdk/eventgrid/arm-eventgrid/src/models/index.ts b/sdk/eventgrid/arm-eventgrid/src/models/index.ts index 6fa227f07d46..b148bddbb5fe 100644 --- a/sdk/eventgrid/arm-eventgrid/src/models/index.ts +++ b/sdk/eventgrid/arm-eventgrid/src/models/index.ts @@ -24,6 +24,18 @@ export type DeliveryAttributeMappingUnion = export type DeadLetterDestinationUnion = | DeadLetterDestination | StorageBlobDeadLetterDestination; +export type EventSubscriptionDestinationUnion = + | EventSubscriptionDestination + | WebHookEventSubscriptionDestination + | EventHubEventSubscriptionDestination + | StorageQueueEventSubscriptionDestination + | HybridConnectionEventSubscriptionDestination + | ServiceBusQueueEventSubscriptionDestination + | ServiceBusTopicEventSubscriptionDestination + | AzureFunctionEventSubscriptionDestination + | PartnerEventSubscriptionDestination + | MonitorAlertEventSubscriptionDestination + | NamespaceTopicEventSubscriptionDestination; export type FilterUnion = | Filter | NumberInFilter @@ -45,16 +57,6 @@ export type FilterUnion = | StringNotContainsFilter | IsNullOrUndefinedFilter | IsNotNullFilter; -export type EventSubscriptionDestinationUnion = - | EventSubscriptionDestination - | WebHookEventSubscriptionDestination - | EventHubEventSubscriptionDestination - | StorageQueueEventSubscriptionDestination - | HybridConnectionEventSubscriptionDestination - | ServiceBusQueueEventSubscriptionDestination - | ServiceBusTopicEventSubscriptionDestination - | AzureFunctionEventSubscriptionDestination - | PartnerEventSubscriptionDestination; export type AdvancedFilterUnion = | AdvancedFilter | NumberInAdvancedFilter @@ -76,6 +78,9 @@ export type AdvancedFilterUnion = | StringNotContainsAdvancedFilter | IsNullOrUndefinedAdvancedFilter | IsNotNullAdvancedFilter; +export type StaticRoutingEnrichmentUnion = + | StaticRoutingEnrichment + | StaticStringRoutingEnrichment; export type PartnerClientAuthenticationUnion = | PartnerClientAuthentication | AzureADPartnerClientAuthentication; @@ -302,37 +307,6 @@ export interface ClientGroupsListResult { nextLink?: string; } -/** The Authentication properties for the client. */ -export interface ClientAuthentication { - /** The self signed certificate's thumbprints data used for authentication. */ - certificateThumbprint?: ClientCertificateThumbprint; - /** The CA certificate subject name used for authentication. */ - certificateSubject?: ClientCertificateSubjectDistinguishedName; -} - -/** Thumbprints are used by the service to validate the device permission when authentication is done using self signed certificate. */ -export interface ClientCertificateThumbprint { - /** The primary thumbprint used for validation. */ - primary?: string; - /** The secondary thumbprint used for validation. */ - secondary?: string; -} - -/** - * CA certificate subject distinguished name information used by service to authenticate clients. - * For more information, see https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.x509certificates.x500distinguishedname?view=net-6.0#remarks - */ -export interface ClientCertificateSubjectDistinguishedName { - /** The common name field in the subject name. The allowed limit is 64 characters and it should be specified. */ - commonName?: string; - /** The organization field in the subject name. If present, the allowed limit is 64 characters. */ - organization?: string; - /** The organization unit field in the subject name. If present, the allowed limit is 32 characters. */ - organizationUnit?: string; - /** The country code field in the subject name. If present, the country code should be represented by two-letter code defined in ISO 2166-1 (alpha-2). For example: 'US'. */ - countryCode?: string; -} - /** The certificate authentication properties for the client. */ export interface ClientCertificateAuthentication { /** The validation scheme used to authenticate the client. Default value is SubjectMatchesAuthenticationName. */ @@ -503,6 +477,8 @@ export interface DeliveryConfiguration { deliveryMode?: DeliveryMode; /** This property should be populated when deliveryMode is queue and represents information about the queue subscription. */ queue?: QueueInfo; + /** This property should be populated when deliveryMode is push and represents information about the push subscription. */ + push?: PushInfo; } /** Properties of the Queue info for event subscription. */ @@ -566,6 +542,68 @@ export interface DeadLetterDestination { endpointType: "StorageBlob"; } +/** Properties of the destination info for event subscription supporting push. */ +export interface PushInfo { + /** The maximum delivery count of the events. */ + maxDeliveryCount?: number; + /** + * Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published. + * This duration value is expressed using the following format: \'P(n)Y(n)M(n)DT(n)H(n)M(n)S\', where: + * - (n) is replaced by the value of each time element that follows the (n). + * - P is the duration (or Period) designator and is always placed at the beginning of the duration. + * - Y is the year designator, and it follows the value for the number of years. + * - M is the month designator, and it follows the value for the number of months. + * - W is the week designator, and it follows the value for the number of weeks. + * - D is the day designator, and it follows the value for the number of days. + * - T is the time designator, and it precedes the time components. + * - H is the hour designator, and it follows the value for the number of hours. + * - M is the minute designator, and it follows the value for the number of minutes. + * - S is the second designator, and it follows the value for the number of seconds. + * This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined + * by topic’s EventRetentionInDays value. The followings are examples of valid values: + * - \'P0DT23H12M\' or \'PT23H12M\': for duration of 23 hours and 12 minutes. + * - \'P1D\' or \'P1DT0H0M0S\': for duration of 1 day. + */ + eventTimeToLive?: string; + /** + * The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination. + * Uses the managed identity setup on the parent resource (namely, namespace) to acquire the authentication tokens being used during delivery / dead-lettering. + */ + deadLetterDestinationWithResourceIdentity?: DeadLetterWithResourceIdentity; + /** + * Information about the destination where events have to be delivered for the event subscription. + * Uses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering. + */ + deliveryWithResourceIdentity?: DeliveryWithResourceIdentity; +} + +/** Information about the delivery for an event subscription with resource identity. */ +export interface DeliveryWithResourceIdentity { + /** The identity to use when delivering events. */ + identity?: EventSubscriptionIdentity; + /** + * Information about the destination where events have to be delivered for the event subscription. + * Uses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering. + */ + destination?: EventSubscriptionDestinationUnion; +} + +/** Information about the destination for an event subscription. */ +export interface EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: + | "WebHook" + | "EventHub" + | "StorageQueue" + | "HybridConnection" + | "ServiceBusQueue" + | "ServiceBusTopic" + | "AzureFunction" + | "PartnerDestination" + | "MonitorAlert" + | "NamespaceTopic"; +} + /** Filters configuration for the Event Subscription. */ export interface FiltersConfiguration { /** A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null. */ @@ -623,31 +661,6 @@ export interface SubscriptionsListResult { nextLink?: string; } -/** Information about the destination for an event subscription. */ -export interface EventSubscriptionDestination { - /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: - | "WebHook" - | "EventHub" - | "StorageQueue" - | "HybridConnection" - | "ServiceBusQueue" - | "ServiceBusTopic" - | "AzureFunction" - | "PartnerDestination"; -} - -/** Information about the delivery for an event subscription with resource identity. */ -export interface DeliveryWithResourceIdentity { - /** The identity to use when delivering events. */ - identity?: EventSubscriptionIdentity; - /** - * Information about the destination where events have to be delivered for the event subscription. - * Uses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering. - */ - destination?: EventSubscriptionDestinationUnion; -} - /** Filter for the Event Subscription. */ export interface EventSubscriptionFilter { /** @@ -794,15 +807,16 @@ export interface TopicSpacesConfiguration { } export interface RoutingEnrichments { - static?: StaticRoutingEnrichment[]; + static?: StaticRoutingEnrichmentUnion[]; dynamic?: DynamicRoutingEnrichment[]; } +/** Static routing enrichment details. */ export interface StaticRoutingEnrichment { + /** Polymorphic discriminator, which specifies the different types this object can be */ + valueType: "String"; /** Static routing enrichment key. */ key?: string; - /** Static routing enrichment value type. For e.g. this property value can be 'String'. */ - valueType?: StaticRoutingEnrichmentType; } export interface DynamicRoutingEnrichment { @@ -1088,6 +1102,86 @@ export interface PartnerTopicsListResult { nextLink?: string; } +/** Network security perimeter configuration issues. */ +export interface NetworkSecurityPerimeterConfigurationIssues { + /** Provisioning issue name. */ + name?: string; + /** Provisioning issue type. */ + issueType?: NetworkSecurityPerimeterConfigurationIssueType; + /** Provisioning issue severity. */ + severity?: NetworkSecurityPerimeterConfigurationIssueSeverity; + /** Provisioning issue description. */ + description?: string; + /** ARM IDs of resources that can be associated to the same perimeter to remediate the issue. */ + suggestedResourceIds?: string[]; + /** Access rules that can be added to the same profile to remediate the issue. */ + suggestedAccessRules?: string[]; +} + +/** Network security perimeter info. */ +export interface NetworkSecurityPerimeterInfo { + /** Arm id for network security perimeter. */ + id?: string; + /** Network security perimeter guid. */ + perimeterGuid?: string; + /** Network security perimeter location. */ + location?: string; +} + +/** Nsp resource association */ +export interface ResourceAssociation { + /** Association name */ + name?: string; + /** Network security perimeter access mode. */ + accessMode?: NetworkSecurityPerimeterAssociationAccessMode; +} + +/** Nsp configuration with profile information. */ +export interface NetworkSecurityPerimeterConfigurationProfile { + /** Nsp configuration profile name. */ + name?: string; + /** Access rules version number for nsp profile. */ + accessRulesVersion?: string; + /** List of inbound or outbound access rule setup on the nsp profile. */ + accessRules?: NetworkSecurityPerimeterProfileAccessRule[]; + /** Diagnostic settings version number for nsp profile. */ + diagnosticSettingsVersion?: string; + /** Enabled log categories for nsp profile. */ + enabledLogCategories?: string[]; +} + +/** Network security perimeter profile access rule. */ +export interface NetworkSecurityPerimeterProfileAccessRule { + /** Fully Qualified Arm id for network security perimeter profile access rule. */ + fullyQualifiedArmId?: string; + /** Name for nsp access rule. */ + name?: string; + /** nsp access rule type. */ + type?: string; + /** NSP access rule direction. */ + direction?: NetworkSecurityPerimeterProfileAccessRuleDirection; + /** Address prefixes. */ + addressPrefixes?: string[]; + /** List of subscriptions. */ + subscriptions?: string[]; + /** Network security perimeters. */ + networkSecurityPerimeters?: NetworkSecurityPerimeterInfo[]; + /** Fully qualified domain names. */ + fullyQualifiedDomainNames?: string[]; + /** List of email addresses. */ + emailAddresses?: string[]; + /** List of phone numbers. */ + phoneNumbers?: string[]; +} + +/** Network security perimeter configuration List. */ +export interface NetworkSecurityPerimeterConfigurationList { + /** List of all network security parameter configurations. */ + value?: NetworkSecurityPerimeterConfiguration[]; + /** A link for the next page of Network Security Perimeter Configuration. */ + nextLink?: string; +} + /** Result of the List Permission Binding operation. */ export interface PermissionBindingsListResult { /** A collection of Permission Binding. */ @@ -1203,6 +1297,11 @@ export interface TopicTypesListResult { value?: TopicTypeInfo[]; } +export interface TopicTypeAdditionalEnforcedPermission { + permissionName?: string; + isDataAction?: boolean; +} + /** Information about the partner. */ export interface PartnerDetails { /** This is short description about the partner. The length of this description should not exceed 256 characters. */ @@ -1335,8 +1434,6 @@ export interface Client extends Resource { description?: string; /** The name presented by the client for authentication. The default value is the name of the resource. */ authenticationName?: string; - /** Authentication information for the client. */ - authentication?: ClientAuthentication; /** The client certificate authentication information. */ clientCertificateAuthentication?: ClientCertificateAuthentication; /** Indicates if the client is enabled or not. Default value is Enabled. */ @@ -1496,6 +1593,20 @@ export interface PartnerConfiguration extends Resource { provisioningState?: PartnerConfigurationProvisioningState; } +/** Network security perimeter configuration. */ +export interface NetworkSecurityPerimeterConfiguration extends Resource { + /** Provisioning state to reflect configuration state and indicate status of nsp profile configuration retrieval. */ + provisioningState?: NetworkSecurityPerimeterConfigProvisioningState; + /** Provisioning issues to reflect status when attempting to retrieve nsp profile configuration. */ + provisioningIssues?: NetworkSecurityPerimeterConfigurationIssues[]; + /** Perimeter info for nsp association. */ + networkSecurityPerimeter?: NetworkSecurityPerimeterInfo; + /** Nsp association name and access mode of association. */ + resourceAssociation?: ResourceAssociation; + /** Nsp profile configuration, access rules and diagnostic settings. */ + profile?: NetworkSecurityPerimeterConfigurationProfile; +} + /** The Permission binding resource. */ export interface PermissionBinding extends Resource { /** @@ -1583,7 +1694,7 @@ export interface TopicTypeInfo extends Resource { description?: string; /** Region type of the resource. */ resourceRegionType?: ResourceRegionType; - /** Provisioning state of the topic type */ + /** Provisioning state of the topic type. */ provisioningState?: TopicTypeProvisioningState; /** List of locations supported by this topic type. */ supportedLocations?: string[]; @@ -1591,8 +1702,10 @@ export interface TopicTypeInfo extends Resource { sourceResourceFormat?: string; /** Supported source scopes. */ supportedScopesForSource?: TopicTypeSourceScope[]; - /** Flag to indicate that a topic type can support both regional or global system topics */ + /** Flag to indicate that a topic type can support both regional or global system topics. */ areRegionalAndGlobalSourcesSupported?: boolean; + /** Permissions which are enforced for creating and updating system topics of this this topic type. */ + additionalEnforcedPermissions?: TopicTypeAdditionalEnforcedPermission[]; } /** Verified partner information */ @@ -1690,6 +1803,144 @@ export interface StorageBlobDeadLetterDestination blobContainerName?: string; } +/** Information about the webhook destination for an event subscription. */ +export interface WebHookEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "WebHook"; + /** The URL that represents the endpoint of the destination of an event subscription. */ + endpointUrl?: string; + /** + * The base URL that represents the endpoint of the destination of an event subscription. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly endpointBaseUrl?: string; + /** Maximum number of events per batch. */ + maxEventsPerBatch?: number; + /** Preferred batch size in Kilobytes. */ + preferredBatchSizeInKilobytes?: number; + /** The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests. */ + azureActiveDirectoryTenantId?: string; + /** The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests. */ + azureActiveDirectoryApplicationIdOrUri?: string; + /** Delivery attribute details. */ + deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; + /** Minimum TLS version that should be supported by webhook endpoint */ + minimumTlsVersionAllowed?: TlsVersion; +} + +/** Information about the event hub destination for an event subscription. */ +export interface EventHubEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "EventHub"; + /** The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription. */ + resourceId?: string; + /** Delivery attribute details. */ + deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; +} + +/** Information about the storage queue destination for an event subscription. */ +export interface StorageQueueEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "StorageQueue"; + /** The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription. */ + resourceId?: string; + /** The name of the Storage queue under a storage account that is the destination of an event subscription. */ + queueName?: string; + /** Storage queue message time to live in seconds. This value cannot be zero or negative with the exception of using -1 to indicate that the Time To Live of the message is Infinite. */ + queueMessageTimeToLiveInSeconds?: number; +} + +/** Information about the HybridConnection destination for an event subscription. */ +export interface HybridConnectionEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "HybridConnection"; + /** The Azure Resource ID of an hybrid connection that is the destination of an event subscription. */ + resourceId?: string; + /** Delivery attribute details. */ + deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; +} + +/** Information about the service bus destination for an event subscription. */ +export interface ServiceBusQueueEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "ServiceBusQueue"; + /** The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription. */ + resourceId?: string; + /** Delivery attribute details. */ + deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; +} + +/** Information about the service bus topic destination for an event subscription. */ +export interface ServiceBusTopicEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "ServiceBusTopic"; + /** The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription. */ + resourceId?: string; + /** Delivery attribute details. */ + deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; +} + +/** Information about the azure function destination for an event subscription. */ +export interface AzureFunctionEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "AzureFunction"; + /** The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription. */ + resourceId?: string; + /** Maximum number of events per batch. */ + maxEventsPerBatch?: number; + /** Preferred batch size in Kilobytes. */ + preferredBatchSizeInKilobytes?: number; + /** Delivery attribute details. */ + deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; +} + +export interface PartnerEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "PartnerDestination"; + /** The Azure Resource Id that represents the endpoint of a Partner Destination of an event subscription. */ + resourceId?: string; +} + +/** Information about the Monitor Alert destination for an event subscription. */ +export interface MonitorAlertEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "MonitorAlert"; + /** + * The severity that will be attached to every Alert fired through this event subscription. + * This field must be provided. + */ + severity?: MonitorAlertSeverity; + /** The description that will be attached to every Alert fired through this event subscription. */ + description?: string; + /** + * The list of ARM Ids of Action Groups that will be triggered on every Alert fired through this event subscription. + * Each resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Insights/actionGroups/{ActionGroupName}. + */ + actionGroups?: string[]; +} + +/** Information about the Namespace Topic destination for an event subscription. */ +export interface NamespaceTopicEventSubscriptionDestination + extends EventSubscriptionDestination { + /** Polymorphic discriminator, which specifies the different types this object can be */ + endpointType: "NamespaceTopic"; + /** + * The Azure resource Id that represents the endpoint of the Event Grid Namespace Topic destination of an event subscription. + * This field is required and the Namespace Topic resource listed must already exist. + * The resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.EventGrid/namespaces/{NamespaceName}/topics/{TopicName}. + */ + resourceId?: string; +} + /** NumberIn Filter. */ export interface NumberInFilter extends Filter { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -1794,154 +2045,48 @@ export interface NumberInRangeFilter extends Filter { values?: number[][]; } -/** NumberNotInRange Filter. */ -export interface NumberNotInRangeFilter extends Filter { - /** Polymorphic discriminator, which specifies the different types this object can be */ - operatorType: "NumberNotInRange"; - /** The set of filter values. */ - values?: number[][]; -} - -/** StringNotBeginsWith Filter. */ -export interface StringNotBeginsWithFilter extends Filter { - /** Polymorphic discriminator, which specifies the different types this object can be */ - operatorType: "StringNotBeginsWith"; - /** The set of filter values. */ - values?: string[]; -} - -/** StringNotEndsWith Filter. */ -export interface StringNotEndsWithFilter extends Filter { - /** Polymorphic discriminator, which specifies the different types this object can be */ - operatorType: "StringNotEndsWith"; - /** The set of filter values. */ - values?: string[]; -} - -/** StringNotContains Filter. */ -export interface StringNotContainsFilter extends Filter { - /** Polymorphic discriminator, which specifies the different types this object can be */ - operatorType: "StringNotContains"; - /** The set of filter values. */ - values?: string[]; -} - -/** IsNullOrUndefined Filter. */ -export interface IsNullOrUndefinedFilter extends Filter { - /** Polymorphic discriminator, which specifies the different types this object can be */ - operatorType: "IsNullOrUndefined"; -} - -/** IsNotNull Filter. */ -export interface IsNotNullFilter extends Filter { - /** Polymorphic discriminator, which specifies the different types this object can be */ - operatorType: "IsNotNull"; -} - -/** Information about the webhook destination for an event subscription. */ -export interface WebHookEventSubscriptionDestination - extends EventSubscriptionDestination { - /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "WebHook"; - /** The URL that represents the endpoint of the destination of an event subscription. */ - endpointUrl?: string; - /** - * The base URL that represents the endpoint of the destination of an event subscription. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly endpointBaseUrl?: string; - /** Maximum number of events per batch. */ - maxEventsPerBatch?: number; - /** Preferred batch size in Kilobytes. */ - preferredBatchSizeInKilobytes?: number; - /** The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests. */ - azureActiveDirectoryTenantId?: string; - /** The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests. */ - azureActiveDirectoryApplicationIdOrUri?: string; - /** Delivery attribute details. */ - deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; - /** Minimum TLS version that should be supported by webhook endpoint */ - minimumTlsVersionAllowed?: TlsVersion; -} - -/** Information about the event hub destination for an event subscription. */ -export interface EventHubEventSubscriptionDestination - extends EventSubscriptionDestination { - /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "EventHub"; - /** The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription. */ - resourceId?: string; - /** Delivery attribute details. */ - deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; -} - -/** Information about the storage queue destination for an event subscription. */ -export interface StorageQueueEventSubscriptionDestination - extends EventSubscriptionDestination { +/** NumberNotInRange Filter. */ +export interface NumberNotInRangeFilter extends Filter { /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "StorageQueue"; - /** The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription. */ - resourceId?: string; - /** The name of the Storage queue under a storage account that is the destination of an event subscription. */ - queueName?: string; - /** Storage queue message time to live in seconds. This value cannot be zero or negative with the exception of using -1 to indicate that the Time To Live of the message is Infinite. */ - queueMessageTimeToLiveInSeconds?: number; + operatorType: "NumberNotInRange"; + /** The set of filter values. */ + values?: number[][]; } -/** Information about the HybridConnection destination for an event subscription. */ -export interface HybridConnectionEventSubscriptionDestination - extends EventSubscriptionDestination { +/** StringNotBeginsWith Filter. */ +export interface StringNotBeginsWithFilter extends Filter { /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "HybridConnection"; - /** The Azure Resource ID of an hybrid connection that is the destination of an event subscription. */ - resourceId?: string; - /** Delivery attribute details. */ - deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; + operatorType: "StringNotBeginsWith"; + /** The set of filter values. */ + values?: string[]; } -/** Information about the service bus destination for an event subscription. */ -export interface ServiceBusQueueEventSubscriptionDestination - extends EventSubscriptionDestination { +/** StringNotEndsWith Filter. */ +export interface StringNotEndsWithFilter extends Filter { /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "ServiceBusQueue"; - /** The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription. */ - resourceId?: string; - /** Delivery attribute details. */ - deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; + operatorType: "StringNotEndsWith"; + /** The set of filter values. */ + values?: string[]; } -/** Information about the service bus topic destination for an event subscription. */ -export interface ServiceBusTopicEventSubscriptionDestination - extends EventSubscriptionDestination { +/** StringNotContains Filter. */ +export interface StringNotContainsFilter extends Filter { /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "ServiceBusTopic"; - /** The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription. */ - resourceId?: string; - /** Delivery attribute details. */ - deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; + operatorType: "StringNotContains"; + /** The set of filter values. */ + values?: string[]; } -/** Information about the azure function destination for an event subscription. */ -export interface AzureFunctionEventSubscriptionDestination - extends EventSubscriptionDestination { +/** IsNullOrUndefined Filter. */ +export interface IsNullOrUndefinedFilter extends Filter { /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "AzureFunction"; - /** The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription. */ - resourceId?: string; - /** Maximum number of events per batch. */ - maxEventsPerBatch?: number; - /** Preferred batch size in Kilobytes. */ - preferredBatchSizeInKilobytes?: number; - /** Delivery attribute details. */ - deliveryAttributeMappings?: DeliveryAttributeMappingUnion[]; + operatorType: "IsNullOrUndefined"; } -export interface PartnerEventSubscriptionDestination - extends EventSubscriptionDestination { +/** IsNotNull Filter. */ +export interface IsNotNullFilter extends Filter { /** Polymorphic discriminator, which specifies the different types this object can be */ - endpointType: "PartnerDestination"; - /** The Azure Resource Id that represents the endpoint of a Partner Destination of an event subscription. */ - resourceId?: string; + operatorType: "IsNotNull"; } /** NumberIn Advanced Filter. */ @@ -2093,6 +2238,13 @@ export interface IsNotNullAdvancedFilter extends AdvancedFilter { operatorType: "IsNotNull"; } +export interface StaticStringRoutingEnrichment extends StaticRoutingEnrichment { + /** Polymorphic discriminator, which specifies the different types this object can be */ + valueType: "String"; + /** String type routing enrichment value. */ + value?: string; +} + /** Azure Active Directory Partner Client Authentication */ export interface AzureADPartnerClientAuthentication extends PartnerClientAuthentication { @@ -2198,7 +2350,10 @@ export interface Namespace extends TrackedResource { /** Topic spaces configuration information for the namespace resource */ topicSpacesConfiguration?: TopicSpacesConfiguration; /** - * Allows the user to specify if the service is zone-redundant. This is a required property and user needs to specify this value explicitly. + * This is an optional property and it allows the user to specify if the namespace resource supports zone-redundancy capability or not. If this + * property is not specified explicitly by the user, its default value depends on the following conditions: + * a. For Availability Zones enabled regions - The default property value would be true. + * b. For non-Availability Zones enabled regions - The default property value would be false. * Once specified, this property cannot be updated. */ isZoneRedundant?: boolean; @@ -2555,6 +2710,11 @@ export interface PartnerTopicsDeleteHeaders { location?: string; } +/** Defines headers for NetworkSecurityPerimeterConfigurations_reconcile operation. */ +export interface NetworkSecurityPerimeterConfigurationsReconcileHeaders { + location?: string; +} + /** Defines headers for PermissionBindings_delete operation. */ export interface PermissionBindingsDeleteHeaders { location?: string; @@ -3004,7 +3164,9 @@ export enum KnownPublicNetworkAccess { /** Enabled */ Enabled = "Enabled", /** Disabled */ - Disabled = "Disabled" + Disabled = "Disabled", + /** SecuredByPerimeter */ + SecuredByPerimeter = "SecuredByPerimeter" } /** @@ -3013,7 +3175,8 @@ export enum KnownPublicNetworkAccess { * this enum contains the known values that the service supports. * ### Known values supported by the service * **Enabled** \ - * **Disabled** + * **Disabled** \ + * **SecuredByPerimeter** */ export type PublicNetworkAccess = string; @@ -3188,7 +3351,9 @@ export type SubscriptionProvisioningState = string; /** Known values of {@link DeliveryMode} that the service accepts. */ export enum KnownDeliveryMode { /** Queue */ - Queue = "Queue" + Queue = "Queue", + /** Push */ + Push = "Push" } /** @@ -3196,7 +3361,8 @@ export enum KnownDeliveryMode { * {@link KnownDeliveryMode} can be used interchangeably with DeliveryMode, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Queue** + * **Queue** \ + * **Push** */ export type DeliveryMode = string; @@ -3233,6 +3399,48 @@ export enum KnownDeadLetterEndPointType { */ export type DeadLetterEndPointType = string; +/** Known values of {@link EndpointType} that the service accepts. */ +export enum KnownEndpointType { + /** WebHook */ + WebHook = "WebHook", + /** EventHub */ + EventHub = "EventHub", + /** StorageQueue */ + StorageQueue = "StorageQueue", + /** HybridConnection */ + HybridConnection = "HybridConnection", + /** ServiceBusQueue */ + ServiceBusQueue = "ServiceBusQueue", + /** ServiceBusTopic */ + ServiceBusTopic = "ServiceBusTopic", + /** AzureFunction */ + AzureFunction = "AzureFunction", + /** PartnerDestination */ + PartnerDestination = "PartnerDestination", + /** MonitorAlert */ + MonitorAlert = "MonitorAlert", + /** NamespaceTopic */ + NamespaceTopic = "NamespaceTopic" +} + +/** + * Defines values for EndpointType. \ + * {@link KnownEndpointType} can be used interchangeably with EndpointType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **WebHook** \ + * **EventHub** \ + * **StorageQueue** \ + * **HybridConnection** \ + * **ServiceBusQueue** \ + * **ServiceBusTopic** \ + * **AzureFunction** \ + * **PartnerDestination** \ + * **MonitorAlert** \ + * **NamespaceTopic** + */ +export type EndpointType = string; + /** Known values of {@link DeliverySchema} that the service accepts. */ export enum KnownDeliverySchema { /** CloudEventSchemaV10 */ @@ -3350,42 +3558,6 @@ export enum KnownEventSubscriptionProvisioningState { */ export type EventSubscriptionProvisioningState = string; -/** Known values of {@link EndpointType} that the service accepts. */ -export enum KnownEndpointType { - /** WebHook */ - WebHook = "WebHook", - /** EventHub */ - EventHub = "EventHub", - /** StorageQueue */ - StorageQueue = "StorageQueue", - /** HybridConnection */ - HybridConnection = "HybridConnection", - /** ServiceBusQueue */ - ServiceBusQueue = "ServiceBusQueue", - /** ServiceBusTopic */ - ServiceBusTopic = "ServiceBusTopic", - /** AzureFunction */ - AzureFunction = "AzureFunction", - /** PartnerDestination */ - PartnerDestination = "PartnerDestination" -} - -/** - * Defines values for EndpointType. \ - * {@link KnownEndpointType} can be used interchangeably with EndpointType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **WebHook** \ - * **EventHub** \ - * **StorageQueue** \ - * **HybridConnection** \ - * **ServiceBusQueue** \ - * **ServiceBusTopic** \ - * **AzureFunction** \ - * **PartnerDestination** - */ -export type EndpointType = string; - /** Known values of {@link AdvancedFilterOperatorType} that the service accepts. */ export enum KnownAdvancedFilterOperatorType { /** NumberIn */ @@ -3899,6 +4071,141 @@ export enum KnownPartnerTopicActivationState { */ export type PartnerTopicActivationState = string; +/** Known values of {@link NetworkSecurityPerimeterResourceType} that the service accepts. */ +export enum KnownNetworkSecurityPerimeterResourceType { + /** Topics */ + Topics = "topics", + /** Domains */ + Domains = "domains" +} + +/** + * Defines values for NetworkSecurityPerimeterResourceType. \ + * {@link KnownNetworkSecurityPerimeterResourceType} can be used interchangeably with NetworkSecurityPerimeterResourceType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **topics** \ + * **domains** + */ +export type NetworkSecurityPerimeterResourceType = string; + +/** Known values of {@link NetworkSecurityPerimeterConfigProvisioningState} that the service accepts. */ +export enum KnownNetworkSecurityPerimeterConfigProvisioningState { + /** Creating */ + Creating = "Creating", + /** Updating */ + Updating = "Updating", + /** Deleting */ + Deleting = "Deleting", + /** Succeeded */ + Succeeded = "Succeeded", + /** Canceled */ + Canceled = "Canceled", + /** Failed */ + Failed = "Failed", + /** Deleted */ + Deleted = "Deleted", + /** Accepted */ + Accepted = "Accepted" +} + +/** + * Defines values for NetworkSecurityPerimeterConfigProvisioningState. \ + * {@link KnownNetworkSecurityPerimeterConfigProvisioningState} can be used interchangeably with NetworkSecurityPerimeterConfigProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Creating** \ + * **Updating** \ + * **Deleting** \ + * **Succeeded** \ + * **Canceled** \ + * **Failed** \ + * **Deleted** \ + * **Accepted** + */ +export type NetworkSecurityPerimeterConfigProvisioningState = string; + +/** Known values of {@link NetworkSecurityPerimeterConfigurationIssueType} that the service accepts. */ +export enum KnownNetworkSecurityPerimeterConfigurationIssueType { + /** MissingPerimeterConfiguration */ + MissingPerimeterConfiguration = "MissingPerimeterConfiguration", + /** MissingIdentityConfiguration */ + MissingIdentityConfiguration = "MissingIdentityConfiguration", + /** ConfigurationPropagationFailure */ + ConfigurationPropagationFailure = "ConfigurationPropagationFailure", + /** Other */ + Other = "Other" +} + +/** + * Defines values for NetworkSecurityPerimeterConfigurationIssueType. \ + * {@link KnownNetworkSecurityPerimeterConfigurationIssueType} can be used interchangeably with NetworkSecurityPerimeterConfigurationIssueType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **MissingPerimeterConfiguration** \ + * **MissingIdentityConfiguration** \ + * **ConfigurationPropagationFailure** \ + * **Other** + */ +export type NetworkSecurityPerimeterConfigurationIssueType = string; + +/** Known values of {@link NetworkSecurityPerimeterConfigurationIssueSeverity} that the service accepts. */ +export enum KnownNetworkSecurityPerimeterConfigurationIssueSeverity { + /** Warning */ + Warning = "Warning", + /** Error */ + Error = "Error" +} + +/** + * Defines values for NetworkSecurityPerimeterConfigurationIssueSeverity. \ + * {@link KnownNetworkSecurityPerimeterConfigurationIssueSeverity} can be used interchangeably with NetworkSecurityPerimeterConfigurationIssueSeverity, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Warning** \ + * **Error** + */ +export type NetworkSecurityPerimeterConfigurationIssueSeverity = string; + +/** Known values of {@link NetworkSecurityPerimeterAssociationAccessMode} that the service accepts. */ +export enum KnownNetworkSecurityPerimeterAssociationAccessMode { + /** Learning */ + Learning = "Learning", + /** Enforced */ + Enforced = "Enforced", + /** Audit */ + Audit = "Audit" +} + +/** + * Defines values for NetworkSecurityPerimeterAssociationAccessMode. \ + * {@link KnownNetworkSecurityPerimeterAssociationAccessMode} can be used interchangeably with NetworkSecurityPerimeterAssociationAccessMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Learning** \ + * **Enforced** \ + * **Audit** + */ +export type NetworkSecurityPerimeterAssociationAccessMode = string; + +/** Known values of {@link NetworkSecurityPerimeterProfileAccessRuleDirection} that the service accepts. */ +export enum KnownNetworkSecurityPerimeterProfileAccessRuleDirection { + /** Inbound */ + Inbound = "Inbound", + /** Outbound */ + Outbound = "Outbound" +} + +/** + * Defines values for NetworkSecurityPerimeterProfileAccessRuleDirection. \ + * {@link KnownNetworkSecurityPerimeterProfileAccessRuleDirection} can be used interchangeably with NetworkSecurityPerimeterProfileAccessRuleDirection, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Inbound** \ + * **Outbound** + */ +export type NetworkSecurityPerimeterProfileAccessRuleDirection = string; + /** Known values of {@link PermissionType} that the service accepts. */ export enum KnownPermissionType { /** Publisher */ @@ -4172,6 +4479,33 @@ export enum KnownPartnerClientAuthenticationType { */ export type PartnerClientAuthenticationType = string; +/** Known values of {@link MonitorAlertSeverity} that the service accepts. */ +export enum KnownMonitorAlertSeverity { + /** Sev0 */ + Sev0 = "Sev0", + /** Sev1 */ + Sev1 = "Sev1", + /** Sev2 */ + Sev2 = "Sev2", + /** Sev3 */ + Sev3 = "Sev3", + /** Sev4 */ + Sev4 = "Sev4" +} + +/** + * Defines values for MonitorAlertSeverity. \ + * {@link KnownMonitorAlertSeverity} can be used interchangeably with MonitorAlertSeverity, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Sev0** \ + * **Sev1** \ + * **Sev2** \ + * **Sev3** \ + * **Sev4** + */ +export type MonitorAlertSeverity = string; + /** Optional parameters. */ export interface CaCertificatesGetOptionalParams extends coreClient.OperationOptions {} @@ -5088,6 +5422,13 @@ export interface NamespaceTopicEventSubscriptionsListByNamespaceTopicOptionalPar /** Contains response data for the listByNamespaceTopic operation. */ export type NamespaceTopicEventSubscriptionsListByNamespaceTopicResponse = SubscriptionsListResult; +/** Optional parameters. */ +export interface NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getDeliveryAttributes operation. */ +export type NamespaceTopicEventSubscriptionsGetDeliveryAttributesResponse = DeliveryAttributeListResult; + /** Optional parameters. */ export interface NamespaceTopicEventSubscriptionsListByNamespaceTopicNextOptionalParams extends coreClient.OperationOptions {} @@ -5761,6 +6102,32 @@ export interface PartnerTopicsListByResourceGroupNextOptionalParams /** Contains response data for the listByResourceGroupNext operation. */ export type PartnerTopicsListByResourceGroupNextResponse = PartnerTopicsListResult; +/** Optional parameters. */ +export interface NetworkSecurityPerimeterConfigurationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterConfigurationsGetResponse = NetworkSecurityPerimeterConfiguration; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterConfigurationsReconcileOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the reconcile operation. */ +export type NetworkSecurityPerimeterConfigurationsReconcileResponse = NetworkSecurityPerimeterConfiguration; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterConfigurationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterConfigurationsListResponse = NetworkSecurityPerimeterConfigurationList; + /** Optional parameters. */ export interface PermissionBindingsGetOptionalParams extends coreClient.OperationOptions {} diff --git a/sdk/eventgrid/arm-eventgrid/src/models/mappers.ts b/sdk/eventgrid/arm-eventgrid/src/models/mappers.ts index d7e05f078f1d..c3b5675960ba 100644 --- a/sdk/eventgrid/arm-eventgrid/src/models/mappers.ts +++ b/sdk/eventgrid/arm-eventgrid/src/models/mappers.ts @@ -522,96 +522,6 @@ export const ClientGroupsListResult: coreClient.CompositeMapper = { } }; -export const ClientAuthentication: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ClientAuthentication", - modelProperties: { - certificateThumbprint: { - serializedName: "certificateThumbprint", - type: { - name: "Composite", - className: "ClientCertificateThumbprint" - } - }, - certificateSubject: { - serializedName: "certificateSubject", - type: { - name: "Composite", - className: "ClientCertificateSubjectDistinguishedName" - } - } - } - } -}; - -export const ClientCertificateThumbprint: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ClientCertificateThumbprint", - modelProperties: { - primary: { - serializedName: "primary", - type: { - name: "String" - } - }, - secondary: { - serializedName: "secondary", - type: { - name: "String" - } - } - } - } -}; - -export const ClientCertificateSubjectDistinguishedName: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ClientCertificateSubjectDistinguishedName", - modelProperties: { - commonName: { - constraints: { - MaxLength: 64 - }, - serializedName: "commonName", - type: { - name: "String" - } - }, - organization: { - constraints: { - MaxLength: 64 - }, - serializedName: "organization", - type: { - name: "String" - } - }, - organizationUnit: { - constraints: { - MaxLength: 32 - }, - serializedName: "organizationUnit", - type: { - name: "String" - } - }, - countryCode: { - constraints: { - MaxLength: 2, - MinLength: 2 - }, - serializedName: "countryCode", - type: { - name: "String" - } - } - } - } -}; - export const ClientCertificateAuthentication: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1063,6 +973,13 @@ export const DeliveryConfiguration: coreClient.CompositeMapper = { name: "Composite", className: "QueueInfo" } + }, + push: { + serializedName: "push", + type: { + name: "Composite", + className: "PushInfo" + } } } } @@ -1167,6 +1084,85 @@ export const DeadLetterDestination: coreClient.CompositeMapper = { } }; +export const PushInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PushInfo", + modelProperties: { + maxDeliveryCount: { + serializedName: "maxDeliveryCount", + type: { + name: "Number" + } + }, + eventTimeToLive: { + serializedName: "eventTimeToLive", + type: { + name: "String" + } + }, + deadLetterDestinationWithResourceIdentity: { + serializedName: "deadLetterDestinationWithResourceIdentity", + type: { + name: "Composite", + className: "DeadLetterWithResourceIdentity" + } + }, + deliveryWithResourceIdentity: { + serializedName: "deliveryWithResourceIdentity", + type: { + name: "Composite", + className: "DeliveryWithResourceIdentity" + } + } + } + } +}; + +export const DeliveryWithResourceIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DeliveryWithResourceIdentity", + modelProperties: { + identity: { + serializedName: "identity", + type: { + name: "Composite", + className: "EventSubscriptionIdentity" + } + }, + destination: { + serializedName: "destination", + type: { + name: "Composite", + className: "EventSubscriptionDestination" + } + } + } + } +}; + +export const EventSubscriptionDestination: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: { + serializedName: "endpointType", + clientName: "endpointType" + }, + modelProperties: { + endpointType: { + serializedName: "endpointType", + required: true, + type: { + name: "String" + } + } + } + } +}; + export const FiltersConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1282,50 +1278,6 @@ export const SubscriptionsListResult: coreClient.CompositeMapper = { } }; -export const EventSubscriptionDestination: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "EventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: { - serializedName: "endpointType", - clientName: "endpointType" - }, - modelProperties: { - endpointType: { - serializedName: "endpointType", - required: true, - type: { - name: "String" - } - } - } - } -}; - -export const DeliveryWithResourceIdentity: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "DeliveryWithResourceIdentity", - modelProperties: { - identity: { - serializedName: "identity", - type: { - name: "Composite", - className: "EventSubscriptionIdentity" - } - }, - destination: { - serializedName: "destination", - type: { - name: "Composite", - className: "EventSubscriptionDestination" - } - } - } - } -}; - export const EventSubscriptionFilter: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1648,6 +1600,11 @@ export const StaticRoutingEnrichment: coreClient.CompositeMapper = { type: { name: "Composite", className: "StaticRoutingEnrichment", + uberParent: "StaticRoutingEnrichment", + polymorphicDiscriminator: { + serializedName: "valueType", + clientName: "valueType" + }, modelProperties: { key: { serializedName: "key", @@ -1657,6 +1614,7 @@ export const StaticRoutingEnrichment: coreClient.CompositeMapper = { }, valueType: { serializedName: "valueType", + required: true, type: { name: "String" } @@ -2444,64 +2402,65 @@ export const PartnerTopicsListResult: coreClient.CompositeMapper = { } }; -export const PermissionBindingsListResult: coreClient.CompositeMapper = { +export const NetworkSecurityPerimeterConfigurationIssues: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PermissionBindingsListResult", + className: "NetworkSecurityPerimeterConfigurationIssues", modelProperties: { - value: { - serializedName: "value", + name: { + serializedName: "name", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "PermissionBinding" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + issueType: { + serializedName: "properties.issueType", type: { name: "String" } - } - } - } -}; - -export const PrivateEndpointConnectionListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PrivateEndpointConnectionListResult", - modelProperties: { - value: { - serializedName: "value", + }, + severity: { + serializedName: "properties.severity", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + suggestedResourceIds: { + serializedName: "properties.suggestedResourceIds", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "PrivateEndpointConnection" + name: "String" } } } }, - nextLink: { - serializedName: "nextLink", + suggestedAccessRules: { + serializedName: "properties.suggestedAccessRules", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const PrivateLinkResource: coreClient.CompositeMapper = { +export const NetworkSecurityPerimeterInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateLinkResource", + className: "NetworkSecurityPerimeterInfo", modelProperties: { id: { serializedName: "id", @@ -2509,30 +2468,309 @@ export const PrivateLinkResource: coreClient.CompositeMapper = { name: "String" } }, - name: { - serializedName: "name", + perimeterGuid: { + serializedName: "perimeterGuid", type: { name: "String" } }, - type: { - serializedName: "type", + location: { + serializedName: "location", type: { name: "String" } - }, - groupId: { - serializedName: "properties.groupId", + } + } + } +}; + +export const ResourceAssociation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceAssociation", + modelProperties: { + name: { + serializedName: "name", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", + accessMode: { + serializedName: "accessMode", type: { name: "String" } - }, + } + } + } +}; + +export const NetworkSecurityPerimeterConfigurationProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterConfigurationProfile", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + accessRulesVersion: { + serializedName: "accessRulesVersion", + type: { + name: "String" + } + }, + accessRules: { + serializedName: "accessRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterProfileAccessRule" + } + } + } + }, + diagnosticSettingsVersion: { + serializedName: "diagnosticSettingsVersion", + type: { + name: "String" + } + }, + enabledLogCategories: { + serializedName: "enabledLogCategories", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const NetworkSecurityPerimeterProfileAccessRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterProfileAccessRule", + modelProperties: { + fullyQualifiedArmId: { + serializedName: "fullyQualifiedArmId", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + }, + direction: { + serializedName: "properties.direction", + type: { + name: "String" + } + }, + addressPrefixes: { + serializedName: "properties.addressPrefixes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + subscriptions: { + serializedName: "properties.subscriptions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + networkSecurityPerimeters: { + serializedName: "properties.networkSecurityPerimeters", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterInfo" + } + } + } + }, + fullyQualifiedDomainNames: { + serializedName: "properties.fullyQualifiedDomainNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + emailAddresses: { + serializedName: "properties.emailAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + phoneNumbers: { + serializedName: "properties.phoneNumbers", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const NetworkSecurityPerimeterConfigurationList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterConfigurationList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterConfiguration" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const PermissionBindingsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PermissionBindingsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PermissionBinding" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnectionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + }, + groupId: { + serializedName: "properties.groupId", + type: { + name: "String" + } + }, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, requiredMembers: { serializedName: "properties.requiredMembers", type: { @@ -2826,6 +3064,27 @@ export const TopicTypesListResult: coreClient.CompositeMapper = { } }; +export const TopicTypeAdditionalEnforcedPermission: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TopicTypeAdditionalEnforcedPermission", + modelProperties: { + permissionName: { + serializedName: "permissionName", + type: { + name: "String" + } + }, + isDataAction: { + serializedName: "isDataAction", + type: { + name: "Boolean" + } + } + } + } +}; + export const PartnerDetails: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3110,13 +3369,6 @@ export const Client: coreClient.CompositeMapper = { name: "String" } }, - authentication: { - serializedName: "properties.authentication", - type: { - name: "Composite", - className: "ClientAuthentication" - } - }, clientCertificateAuthentication: { serializedName: "properties.clientCertificateAuthentication", type: { @@ -3464,6 +3716,55 @@ export const PartnerConfiguration: coreClient.CompositeMapper = { } }; +export const NetworkSecurityPerimeterConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterConfiguration", + modelProperties: { + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + provisioningIssues: { + serializedName: "properties.provisioningIssues", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterConfigurationIssues" + } + } + } + }, + networkSecurityPerimeter: { + serializedName: "properties.networkSecurityPerimeter", + type: { + name: "Composite", + className: "NetworkSecurityPerimeterInfo" + } + }, + resourceAssociation: { + serializedName: "properties.resourceAssociation", + type: { + name: "Composite", + className: "ResourceAssociation" + } + }, + profile: { + serializedName: "properties.profile", + type: { + name: "Composite", + className: "NetworkSecurityPerimeterConfigurationProfile" + } + } + } + } +}; + export const PermissionBinding: coreClient.CompositeMapper = { type: { name: "Composite", @@ -3685,6 +3986,18 @@ export const TopicTypeInfo: coreClient.CompositeMapper = { type: { name: "Boolean" } + }, + additionalEnforcedPermissions: { + serializedName: "properties.additionalEnforcedPermissions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TopicTypeAdditionalEnforcedPermission" + } + } + } } } } @@ -3939,46 +4252,101 @@ export const StorageBlobDeadLetterDestination: coreClient.CompositeMapper = { } }; -export const NumberInFilter: coreClient.CompositeMapper = { - serializedName: "NumberIn", +export const WebHookEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "WebHook", type: { name: "Composite", - className: "NumberInFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "WebHookEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - values: { - serializedName: "values", + ...EventSubscriptionDestination.type.modelProperties, + endpointUrl: { + serializedName: "properties.endpointUrl", + type: { + name: "String" + } + }, + endpointBaseUrl: { + serializedName: "properties.endpointBaseUrl", + readOnly: true, + type: { + name: "String" + } + }, + maxEventsPerBatch: { + defaultValue: 1, + serializedName: "properties.maxEventsPerBatch", + type: { + name: "Number" + } + }, + preferredBatchSizeInKilobytes: { + defaultValue: 64, + serializedName: "properties.preferredBatchSizeInKilobytes", + type: { + name: "Number" + } + }, + azureActiveDirectoryTenantId: { + serializedName: "properties.azureActiveDirectoryTenantId", + type: { + name: "String" + } + }, + azureActiveDirectoryApplicationIdOrUri: { + serializedName: "properties.azureActiveDirectoryApplicationIdOrUri", + type: { + name: "String" + } + }, + deliveryAttributeMappings: { + serializedName: "properties.deliveryAttributeMappings", type: { name: "Sequence", element: { type: { - name: "Number" + name: "Composite", + className: "DeliveryAttributeMapping" } } } + }, + minimumTlsVersionAllowed: { + serializedName: "properties.minimumTlsVersionAllowed", + type: { + name: "String" + } } } } }; -export const NumberNotInFilter: coreClient.CompositeMapper = { - serializedName: "NumberNotIn", +export const EventHubEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "EventHub", type: { name: "Composite", - className: "NumberNotInFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "EventHubEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - values: { - serializedName: "values", + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", + type: { + name: "String" + } + }, + deliveryAttributeMappings: { + serializedName: "properties.deliveryAttributeMappings", type: { name: "Sequence", element: { type: { - name: "Number" + name: "Composite", + className: "DeliveryAttributeMapping" } } } @@ -3987,36 +4355,30 @@ export const NumberNotInFilter: coreClient.CompositeMapper = { } }; -export const NumberLessThanFilter: coreClient.CompositeMapper = { - serializedName: "NumberLessThan", +export const StorageQueueEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "StorageQueue", type: { name: "Composite", - className: "NumberLessThanFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "StorageQueueEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - value: { - serializedName: "value", + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const NumberGreaterThanFilter: coreClient.CompositeMapper = { - serializedName: "NumberGreaterThan", - type: { - name: "Composite", - className: "NumberGreaterThanFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, - modelProperties: { - ...Filter.type.modelProperties, - value: { - serializedName: "value", + }, + queueName: { + serializedName: "properties.queueName", + type: { + name: "String" + } + }, + queueMessageTimeToLiveInSeconds: { + serializedName: "properties.queueMessageTimeToLiveInSeconds", type: { name: "Number" } @@ -4025,79 +4387,140 @@ export const NumberGreaterThanFilter: coreClient.CompositeMapper = { } }; -export const NumberLessThanOrEqualsFilter: coreClient.CompositeMapper = { - serializedName: "NumberLessThanOrEquals", +export const HybridConnectionEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "HybridConnection", type: { name: "Composite", - className: "NumberLessThanOrEqualsFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "HybridConnectionEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - value: { - serializedName: "value", + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", type: { - name: "Number" + name: "String" + } + }, + deliveryAttributeMappings: { + serializedName: "properties.deliveryAttributeMappings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeliveryAttributeMapping" + } + } } } } } }; -export const NumberGreaterThanOrEqualsFilter: coreClient.CompositeMapper = { - serializedName: "NumberGreaterThanOrEquals", +export const ServiceBusQueueEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "ServiceBusQueue", type: { name: "Composite", - className: "NumberGreaterThanOrEqualsFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "ServiceBusQueueEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - value: { - serializedName: "value", + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", type: { - name: "Number" + name: "String" + } + }, + deliveryAttributeMappings: { + serializedName: "properties.deliveryAttributeMappings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeliveryAttributeMapping" + } + } } } } } }; -export const BoolEqualsFilter: coreClient.CompositeMapper = { - serializedName: "BoolEquals", +export const ServiceBusTopicEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "ServiceBusTopic", type: { name: "Composite", - className: "BoolEqualsFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "ServiceBusTopicEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - value: { - serializedName: "value", + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", type: { - name: "Boolean" + name: "String" + } + }, + deliveryAttributeMappings: { + serializedName: "properties.deliveryAttributeMappings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DeliveryAttributeMapping" + } + } } } } } }; -export const StringInFilter: coreClient.CompositeMapper = { - serializedName: "StringIn", +export const AzureFunctionEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "AzureFunction", type: { name: "Composite", - className: "StringInFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "AzureFunctionEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - values: { - serializedName: "values", + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", + type: { + name: "String" + } + }, + maxEventsPerBatch: { + defaultValue: 1, + serializedName: "properties.maxEventsPerBatch", + type: { + name: "Number" + } + }, + preferredBatchSizeInKilobytes: { + defaultValue: 64, + serializedName: "properties.preferredBatchSizeInKilobytes", + type: { + name: "Number" + } + }, + deliveryAttributeMappings: { + serializedName: "properties.deliveryAttributeMappings", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "DeliveryAttributeMapping" } } } @@ -4106,17 +4529,50 @@ export const StringInFilter: coreClient.CompositeMapper = { } }; -export const StringNotInFilter: coreClient.CompositeMapper = { - serializedName: "StringNotIn", +export const PartnerEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "PartnerDestination", type: { name: "Composite", - className: "StringNotInFilter", - uberParent: "Filter", - polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + className: "PartnerEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties, - values: { - serializedName: "values", + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", + type: { + name: "String" + } + } + } + } +}; + +export const MonitorAlertEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "MonitorAlert", + type: { + name: "Composite", + className: "MonitorAlertEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, + modelProperties: { + ...EventSubscriptionDestination.type.modelProperties, + severity: { + serializedName: "properties.severity", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + actionGroups: { + serializedName: "properties.actionGroups", type: { name: "Sequence", element: { @@ -4130,11 +4586,31 @@ export const StringNotInFilter: coreClient.CompositeMapper = { } }; -export const StringBeginsWithFilter: coreClient.CompositeMapper = { - serializedName: "StringBeginsWith", +export const NamespaceTopicEventSubscriptionDestination: coreClient.CompositeMapper = { + serializedName: "NamespaceTopic", type: { name: "Composite", - className: "StringBeginsWithFilter", + className: "NamespaceTopicEventSubscriptionDestination", + uberParent: "EventSubscriptionDestination", + polymorphicDiscriminator: + EventSubscriptionDestination.type.polymorphicDiscriminator, + modelProperties: { + ...EventSubscriptionDestination.type.modelProperties, + resourceId: { + serializedName: "properties.resourceId", + type: { + name: "String" + } + } + } + } +}; + +export const NumberInFilter: coreClient.CompositeMapper = { + serializedName: "NumberIn", + type: { + name: "Composite", + className: "NumberInFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { @@ -4145,7 +4621,7 @@ export const StringBeginsWithFilter: coreClient.CompositeMapper = { name: "Sequence", element: { type: { - name: "String" + name: "Number" } } } @@ -4154,11 +4630,11 @@ export const StringBeginsWithFilter: coreClient.CompositeMapper = { } }; -export const StringEndsWithFilter: coreClient.CompositeMapper = { - serializedName: "StringEndsWith", +export const NumberNotInFilter: coreClient.CompositeMapper = { + serializedName: "NumberNotIn", type: { name: "Composite", - className: "StringEndsWithFilter", + className: "NumberNotInFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { @@ -4169,7 +4645,7 @@ export const StringEndsWithFilter: coreClient.CompositeMapper = { name: "Sequence", element: { type: { - name: "String" + name: "Number" } } } @@ -4178,117 +4654,106 @@ export const StringEndsWithFilter: coreClient.CompositeMapper = { } }; -export const StringContainsFilter: coreClient.CompositeMapper = { - serializedName: "StringContains", +export const NumberLessThanFilter: coreClient.CompositeMapper = { + serializedName: "NumberLessThan", type: { name: "Composite", - className: "StringContainsFilter", + className: "NumberLessThanFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { ...Filter.type.modelProperties, - values: { - serializedName: "values", + value: { + serializedName: "value", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" } } } } }; -export const NumberInRangeFilter: coreClient.CompositeMapper = { - serializedName: "NumberInRange", +export const NumberGreaterThanFilter: coreClient.CompositeMapper = { + serializedName: "NumberGreaterThan", type: { name: "Composite", - className: "NumberInRangeFilter", + className: "NumberGreaterThanFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { ...Filter.type.modelProperties, - values: { - serializedName: "values", + value: { + serializedName: "value", type: { - name: "Sequence", - element: { - type: { - name: "Sequence", - element: { - type: { - name: "Number" - } - } - } - } + name: "Number" } } } } }; -export const NumberNotInRangeFilter: coreClient.CompositeMapper = { - serializedName: "NumberNotInRange", +export const NumberLessThanOrEqualsFilter: coreClient.CompositeMapper = { + serializedName: "NumberLessThanOrEquals", type: { name: "Composite", - className: "NumberNotInRangeFilter", + className: "NumberLessThanOrEqualsFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { ...Filter.type.modelProperties, - values: { - serializedName: "values", + value: { + serializedName: "value", type: { - name: "Sequence", - element: { - type: { - name: "Sequence", - element: { - type: { - name: "Number" - } - } - } - } + name: "Number" } } } } }; -export const StringNotBeginsWithFilter: coreClient.CompositeMapper = { - serializedName: "StringNotBeginsWith", +export const NumberGreaterThanOrEqualsFilter: coreClient.CompositeMapper = { + serializedName: "NumberGreaterThanOrEquals", type: { name: "Composite", - className: "StringNotBeginsWithFilter", + className: "NumberGreaterThanOrEqualsFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { ...Filter.type.modelProperties, - values: { - serializedName: "values", + value: { + serializedName: "value", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" } } } } }; -export const StringNotEndsWithFilter: coreClient.CompositeMapper = { - serializedName: "StringNotEndsWith", +export const BoolEqualsFilter: coreClient.CompositeMapper = { + serializedName: "BoolEquals", type: { name: "Composite", - className: "StringNotEndsWithFilter", + className: "BoolEqualsFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + modelProperties: { + ...Filter.type.modelProperties, + value: { + serializedName: "value", + type: { + name: "Boolean" + } + } + } + } +}; + +export const StringInFilter: coreClient.CompositeMapper = { + serializedName: "StringIn", + type: { + name: "Composite", + className: "StringInFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { @@ -4308,11 +4773,11 @@ export const StringNotEndsWithFilter: coreClient.CompositeMapper = { } }; -export const StringNotContainsFilter: coreClient.CompositeMapper = { - serializedName: "StringNotContains", +export const StringNotInFilter: coreClient.CompositeMapper = { + serializedName: "StringNotIn", type: { name: "Composite", - className: "StringNotContainsFilter", + className: "StringNotInFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { @@ -4332,127 +4797,70 @@ export const StringNotContainsFilter: coreClient.CompositeMapper = { } }; -export const IsNullOrUndefinedFilter: coreClient.CompositeMapper = { - serializedName: "IsNullOrUndefined", +export const StringBeginsWithFilter: coreClient.CompositeMapper = { + serializedName: "StringBeginsWith", type: { name: "Composite", - className: "IsNullOrUndefinedFilter", + className: "StringBeginsWithFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties + ...Filter.type.modelProperties, + values: { + serializedName: "values", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } } } }; -export const IsNotNullFilter: coreClient.CompositeMapper = { - serializedName: "IsNotNull", +export const StringEndsWithFilter: coreClient.CompositeMapper = { + serializedName: "StringEndsWith", type: { name: "Composite", - className: "IsNotNullFilter", + className: "StringEndsWithFilter", uberParent: "Filter", polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...Filter.type.modelProperties - } - } -}; - -export const WebHookEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "WebHook", - type: { - name: "Composite", - className: "WebHookEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, - modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - endpointUrl: { - serializedName: "properties.endpointUrl", - type: { - name: "String" - } - }, - endpointBaseUrl: { - serializedName: "properties.endpointBaseUrl", - readOnly: true, - type: { - name: "String" - } - }, - maxEventsPerBatch: { - defaultValue: 1, - serializedName: "properties.maxEventsPerBatch", - type: { - name: "Number" - } - }, - preferredBatchSizeInKilobytes: { - defaultValue: 64, - serializedName: "properties.preferredBatchSizeInKilobytes", - type: { - name: "Number" - } - }, - azureActiveDirectoryTenantId: { - serializedName: "properties.azureActiveDirectoryTenantId", - type: { - name: "String" - } - }, - azureActiveDirectoryApplicationIdOrUri: { - serializedName: "properties.azureActiveDirectoryApplicationIdOrUri", - type: { - name: "String" - } - }, - deliveryAttributeMappings: { - serializedName: "properties.deliveryAttributeMappings", + ...Filter.type.modelProperties, + values: { + serializedName: "values", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DeliveryAttributeMapping" + name: "String" } } } - }, - minimumTlsVersionAllowed: { - serializedName: "properties.minimumTlsVersionAllowed", - type: { - name: "String" - } } } } }; -export const EventHubEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "EventHub", +export const StringContainsFilter: coreClient.CompositeMapper = { + serializedName: "StringContains", type: { name: "Composite", - className: "EventHubEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, + className: "StringContainsFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - }, - deliveryAttributeMappings: { - serializedName: "properties.deliveryAttributeMappings", + ...Filter.type.modelProperties, + values: { + serializedName: "values", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DeliveryAttributeMapping" + name: "String" } } } @@ -4461,62 +4869,56 @@ export const EventHubEventSubscriptionDestination: coreClient.CompositeMapper = } }; -export const StorageQueueEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "StorageQueue", +export const NumberInRangeFilter: coreClient.CompositeMapper = { + serializedName: "NumberInRange", type: { name: "Composite", - className: "StorageQueueEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, + className: "NumberInRangeFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - }, - queueName: { - serializedName: "properties.queueName", - type: { - name: "String" - } - }, - queueMessageTimeToLiveInSeconds: { - serializedName: "properties.queueMessageTimeToLiveInSeconds", + ...Filter.type.modelProperties, + values: { + serializedName: "values", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Sequence", + element: { + type: { + name: "Number" + } + } + } + } } } } } }; -export const HybridConnectionEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "HybridConnection", +export const NumberNotInRangeFilter: coreClient.CompositeMapper = { + serializedName: "NumberNotInRange", type: { name: "Composite", - className: "HybridConnectionEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, + className: "NumberNotInRangeFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - }, - deliveryAttributeMappings: { - serializedName: "properties.deliveryAttributeMappings", + ...Filter.type.modelProperties, + values: { + serializedName: "values", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DeliveryAttributeMapping" + name: "Sequence", + element: { + type: { + name: "Number" + } + } } } } @@ -4525,30 +4927,22 @@ export const HybridConnectionEventSubscriptionDestination: coreClient.CompositeM } }; -export const ServiceBusQueueEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "ServiceBusQueue", +export const StringNotBeginsWithFilter: coreClient.CompositeMapper = { + serializedName: "StringNotBeginsWith", type: { name: "Composite", - className: "ServiceBusQueueEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, + className: "StringNotBeginsWithFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - }, - deliveryAttributeMappings: { - serializedName: "properties.deliveryAttributeMappings", + ...Filter.type.modelProperties, + values: { + serializedName: "values", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DeliveryAttributeMapping" + name: "String" } } } @@ -4557,30 +4951,22 @@ export const ServiceBusQueueEventSubscriptionDestination: coreClient.CompositeMa } }; -export const ServiceBusTopicEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "ServiceBusTopic", +export const StringNotEndsWithFilter: coreClient.CompositeMapper = { + serializedName: "StringNotEndsWith", type: { name: "Composite", - className: "ServiceBusTopicEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, + className: "StringNotEndsWithFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - }, - deliveryAttributeMappings: { - serializedName: "properties.deliveryAttributeMappings", + ...Filter.type.modelProperties, + values: { + serializedName: "values", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DeliveryAttributeMapping" + name: "String" } } } @@ -4589,44 +4975,22 @@ export const ServiceBusTopicEventSubscriptionDestination: coreClient.CompositeMa } }; -export const AzureFunctionEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "AzureFunction", +export const StringNotContainsFilter: coreClient.CompositeMapper = { + serializedName: "StringNotContains", type: { name: "Composite", - className: "AzureFunctionEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, + className: "StringNotContainsFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - }, - maxEventsPerBatch: { - defaultValue: 1, - serializedName: "properties.maxEventsPerBatch", - type: { - name: "Number" - } - }, - preferredBatchSizeInKilobytes: { - defaultValue: 64, - serializedName: "properties.preferredBatchSizeInKilobytes", - type: { - name: "Number" - } - }, - deliveryAttributeMappings: { - serializedName: "properties.deliveryAttributeMappings", + ...Filter.type.modelProperties, + values: { + serializedName: "values", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DeliveryAttributeMapping" + name: "String" } } } @@ -4635,22 +4999,28 @@ export const AzureFunctionEventSubscriptionDestination: coreClient.CompositeMapp } }; -export const PartnerEventSubscriptionDestination: coreClient.CompositeMapper = { - serializedName: "PartnerDestination", +export const IsNullOrUndefinedFilter: coreClient.CompositeMapper = { + serializedName: "IsNullOrUndefined", type: { name: "Composite", - className: "PartnerEventSubscriptionDestination", - uberParent: "EventSubscriptionDestination", - polymorphicDiscriminator: - EventSubscriptionDestination.type.polymorphicDiscriminator, + className: "IsNullOrUndefinedFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, modelProperties: { - ...EventSubscriptionDestination.type.modelProperties, - resourceId: { - serializedName: "properties.resourceId", - type: { - name: "String" - } - } + ...Filter.type.modelProperties + } + } +}; + +export const IsNotNullFilter: coreClient.CompositeMapper = { + serializedName: "IsNotNull", + type: { + name: "Composite", + className: "IsNotNullFilter", + uberParent: "Filter", + polymorphicDiscriminator: Filter.type.polymorphicDiscriminator, + modelProperties: { + ...Filter.type.modelProperties } } }; @@ -5074,6 +5444,26 @@ export const IsNotNullAdvancedFilter: coreClient.CompositeMapper = { } }; +export const StaticStringRoutingEnrichment: coreClient.CompositeMapper = { + serializedName: "String", + type: { + name: "Composite", + className: "StaticStringRoutingEnrichment", + uberParent: "StaticRoutingEnrichment", + polymorphicDiscriminator: + StaticRoutingEnrichment.type.polymorphicDiscriminator, + modelProperties: { + ...StaticRoutingEnrichment.type.modelProperties, + value: { + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + export const AzureADPartnerClientAuthentication: coreClient.CompositeMapper = { serializedName: "AzureAD", type: { @@ -6173,6 +6563,21 @@ export const PartnerTopicsDeleteHeaders: coreClient.CompositeMapper = { } }; +export const NetworkSecurityPerimeterConfigurationsReconcileHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterConfigurationsReconcileHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + export const PermissionBindingsDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", @@ -6269,9 +6674,10 @@ export let discriminators = { InputSchemaMapping: InputSchemaMapping, DeliveryAttributeMapping: DeliveryAttributeMapping, DeadLetterDestination: DeadLetterDestination, - Filter: Filter, EventSubscriptionDestination: EventSubscriptionDestination, + Filter: Filter, AdvancedFilter: AdvancedFilter, + StaticRoutingEnrichment: StaticRoutingEnrichment, PartnerClientAuthentication: PartnerClientAuthentication, "PartnerDestinationInfo.WebHook": WebhookPartnerDestinationInfo, "PartnerUpdateDestinationInfo.WebHook": WebhookUpdatePartnerDestinationInfo, @@ -6279,6 +6685,16 @@ export let discriminators = { "DeliveryAttributeMapping.Static": StaticDeliveryAttributeMapping, "DeliveryAttributeMapping.Dynamic": DynamicDeliveryAttributeMapping, "DeadLetterDestination.StorageBlob": StorageBlobDeadLetterDestination, + "EventSubscriptionDestination.WebHook": WebHookEventSubscriptionDestination, + "EventSubscriptionDestination.EventHub": EventHubEventSubscriptionDestination, + "EventSubscriptionDestination.StorageQueue": StorageQueueEventSubscriptionDestination, + "EventSubscriptionDestination.HybridConnection": HybridConnectionEventSubscriptionDestination, + "EventSubscriptionDestination.ServiceBusQueue": ServiceBusQueueEventSubscriptionDestination, + "EventSubscriptionDestination.ServiceBusTopic": ServiceBusTopicEventSubscriptionDestination, + "EventSubscriptionDestination.AzureFunction": AzureFunctionEventSubscriptionDestination, + "EventSubscriptionDestination.PartnerDestination": PartnerEventSubscriptionDestination, + "EventSubscriptionDestination.MonitorAlert": MonitorAlertEventSubscriptionDestination, + "EventSubscriptionDestination.NamespaceTopic": NamespaceTopicEventSubscriptionDestination, "Filter.NumberIn": NumberInFilter, "Filter.NumberNotIn": NumberNotInFilter, "Filter.NumberLessThan": NumberLessThanFilter, @@ -6298,14 +6714,6 @@ export let discriminators = { "Filter.StringNotContains": StringNotContainsFilter, "Filter.IsNullOrUndefined": IsNullOrUndefinedFilter, "Filter.IsNotNull": IsNotNullFilter, - "EventSubscriptionDestination.WebHook": WebHookEventSubscriptionDestination, - "EventSubscriptionDestination.EventHub": EventHubEventSubscriptionDestination, - "EventSubscriptionDestination.StorageQueue": StorageQueueEventSubscriptionDestination, - "EventSubscriptionDestination.HybridConnection": HybridConnectionEventSubscriptionDestination, - "EventSubscriptionDestination.ServiceBusQueue": ServiceBusQueueEventSubscriptionDestination, - "EventSubscriptionDestination.ServiceBusTopic": ServiceBusTopicEventSubscriptionDestination, - "EventSubscriptionDestination.AzureFunction": AzureFunctionEventSubscriptionDestination, - "EventSubscriptionDestination.PartnerDestination": PartnerEventSubscriptionDestination, "AdvancedFilter.NumberIn": NumberInAdvancedFilter, "AdvancedFilter.NumberNotIn": NumberNotInAdvancedFilter, "AdvancedFilter.NumberLessThan": NumberLessThanAdvancedFilter, @@ -6325,5 +6733,6 @@ export let discriminators = { "AdvancedFilter.StringNotContains": StringNotContainsAdvancedFilter, "AdvancedFilter.IsNullOrUndefined": IsNullOrUndefinedAdvancedFilter, "AdvancedFilter.IsNotNull": IsNotNullAdvancedFilter, + "StaticRoutingEnrichment.String": StaticStringRoutingEnrichment, "PartnerClientAuthentication.AzureAD": AzureADPartnerClientAuthentication }; diff --git a/sdk/eventgrid/arm-eventgrid/src/models/parameters.ts b/sdk/eventgrid/arm-eventgrid/src/models/parameters.ts index abb82d2fdf86..1474b9a5c6fd 100644 --- a/sdk/eventgrid/arm-eventgrid/src/models/parameters.ts +++ b/sdk/eventgrid/arm-eventgrid/src/models/parameters.ts @@ -132,7 +132,7 @@ export const caCertificateName: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2023-06-01-preview", + defaultValue: "2023-12-15-preview", isConstant: true, serializedName: "api-version", type: { @@ -581,6 +581,55 @@ export const partnerTopicUpdateParameters: OperationParameter = { mapper: PartnerTopicUpdateParametersMapper }; +export const resourceType: OperationURLParameter = { + parameterPath: "resourceType", + mapper: { + serializedName: "resourceType", + required: true, + type: { + name: "String" + } + } +}; + +export const resourceName1: OperationURLParameter = { + parameterPath: "resourceName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9-]*$"), + MaxLength: 50, + MinLength: 3 + }, + serializedName: "resourceName", + required: true, + type: { + name: "String" + } + } +}; + +export const perimeterGuid: OperationURLParameter = { + parameterPath: "perimeterGuid", + mapper: { + serializedName: "perimeterGuid", + required: true, + type: { + name: "String" + } + } +}; + +export const associationName: OperationURLParameter = { + parameterPath: "associationName", + mapper: { + serializedName: "associationName", + required: true, + type: { + name: "String" + } + } +}; + export const permissionBindingName: OperationURLParameter = { parameterPath: "permissionBindingName", mapper: { diff --git a/sdk/eventgrid/arm-eventgrid/src/operations/index.ts b/sdk/eventgrid/arm-eventgrid/src/operations/index.ts index 8a8dc2e80bf6..01ae297e1662 100644 --- a/sdk/eventgrid/arm-eventgrid/src/operations/index.ts +++ b/sdk/eventgrid/arm-eventgrid/src/operations/index.ts @@ -27,6 +27,7 @@ export * from "./partnerDestinations"; export * from "./partnerNamespaces"; export * from "./partnerRegistrations"; export * from "./partnerTopics"; +export * from "./networkSecurityPerimeterConfigurations"; export * from "./permissionBindings"; export * from "./privateEndpointConnections"; export * from "./privateLinkResources"; diff --git a/sdk/eventgrid/arm-eventgrid/src/operations/namespaceTopicEventSubscriptions.ts b/sdk/eventgrid/arm-eventgrid/src/operations/namespaceTopicEventSubscriptions.ts index 5f5c1854858d..aa723eeba2d5 100644 --- a/sdk/eventgrid/arm-eventgrid/src/operations/namespaceTopicEventSubscriptions.ts +++ b/sdk/eventgrid/arm-eventgrid/src/operations/namespaceTopicEventSubscriptions.ts @@ -32,6 +32,8 @@ import { SubscriptionUpdateParameters, NamespaceTopicEventSubscriptionsUpdateOptionalParams, NamespaceTopicEventSubscriptionsUpdateResponse, + NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams, + NamespaceTopicEventSubscriptionsGetDeliveryAttributesResponse, NamespaceTopicEventSubscriptionsListByNamespaceTopicNextResponse } from "../models"; @@ -524,6 +526,34 @@ export class NamespaceTopicEventSubscriptionsImpl ); } + /** + * Get all delivery attributes for an event subscription of a namespace topic. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param namespaceName Name of the namespace. + * @param topicName Name of the namespace topic. + * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names + * must be between 3 and 100 characters in length and use alphanumeric letters only. + * @param options The options parameters. + */ + getDeliveryAttributes( + resourceGroupName: string, + namespaceName: string, + topicName: string, + eventSubscriptionName: string, + options?: NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + namespaceName, + topicName, + eventSubscriptionName, + options + }, + getDeliveryAttributesOperationSpec + ); + } + /** * ListByNamespaceTopicNext * @param resourceGroupName The name of the resource group within the user's subscription. @@ -690,6 +720,30 @@ const listByNamespaceTopicOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const getDeliveryAttributesOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/namespaces/{namespaceName}/topics/{topicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.DeliveryAttributeListResult + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.namespaceName, + Parameters.topicName1, + Parameters.eventSubscriptionName1 + ], + headerParameters: [Parameters.accept], + serializer +}; const listByNamespaceTopicNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/eventgrid/arm-eventgrid/src/operations/networkSecurityPerimeterConfigurations.ts b/sdk/eventgrid/arm-eventgrid/src/operations/networkSecurityPerimeterConfigurations.ts new file mode 100644 index 000000000000..850d760782e8 --- /dev/null +++ b/sdk/eventgrid/arm-eventgrid/src/operations/networkSecurityPerimeterConfigurations.ts @@ -0,0 +1,371 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { NetworkSecurityPerimeterConfigurations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { EventGridManagementClient } from "../eventGridManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + NetworkSecurityPerimeterConfiguration, + NetworkSecurityPerimeterResourceType, + NetworkSecurityPerimeterConfigurationsListOptionalParams, + NetworkSecurityPerimeterConfigurationsListResponse, + NetworkSecurityPerimeterConfigurationsGetOptionalParams, + NetworkSecurityPerimeterConfigurationsGetResponse, + NetworkSecurityPerimeterConfigurationsReconcileOptionalParams, + NetworkSecurityPerimeterConfigurationsReconcileResponse +} from "../models"; + +/// +/** Class containing NetworkSecurityPerimeterConfigurations operations. */ +export class NetworkSecurityPerimeterConfigurationsImpl + implements NetworkSecurityPerimeterConfigurations { + private readonly client: EventGridManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterConfigurations class. + * @param client Reference to the service client + */ + constructor(client: EventGridManagementClient) { + this.client = client; + } + + /** + * Get all network security perimeter configurations associated with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\' or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + options?: NetworkSecurityPerimeterConfigurationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + resourceType, + resourceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + resourceType, + resourceName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + options?: NetworkSecurityPerimeterConfigurationsListOptionalParams, + _settings?: PageSettings + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterConfigurationsListResponse; + result = await this._list( + resourceGroupName, + resourceType, + resourceName, + options + ); + yield result.value || []; + } + + private async *listPagingAll( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + options?: NetworkSecurityPerimeterConfigurationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + resourceType, + resourceName, + options + )) { + yield* page; + } + } + + /** + * Get a specific network security perimeter configuration with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\', or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param perimeterGuid Unique identifier for perimeter + * @param associationName Association name to association network security perimeter resource to + * profile + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + perimeterGuid: string, + associationName: string, + options?: NetworkSecurityPerimeterConfigurationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + resourceType, + resourceName, + perimeterGuid, + associationName, + options + }, + getOperationSpec + ); + } + + /** + * Reconcile a specific network security perimeter configuration for a given network security perimeter + * association with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\' or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param perimeterGuid Unique identifier for perimeter + * @param associationName Association name to association network security perimeter resource to + * profile + * @param options The options parameters. + */ + async beginReconcile( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + perimeterGuid: string, + associationName: string, + options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + NetworkSecurityPerimeterConfigurationsReconcileResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + resourceType, + resourceName, + perimeterGuid, + associationName, + options + }, + spec: reconcileOperationSpec + }); + const poller = await createHttpPoller< + NetworkSecurityPerimeterConfigurationsReconcileResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Reconcile a specific network security perimeter configuration for a given network security perimeter + * association with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\' or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param perimeterGuid Unique identifier for perimeter + * @param associationName Association name to association network security perimeter resource to + * profile + * @param options The options parameters. + */ + async beginReconcileAndWait( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + perimeterGuid: string, + associationName: string, + options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams + ): Promise { + const poller = await this.beginReconcile( + resourceGroupName, + resourceType, + resourceName, + perimeterGuid, + associationName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Get all network security perimeter configurations associated with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\' or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + options?: NetworkSecurityPerimeterConfigurationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, resourceType, resourceName, options }, + listOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{resourceType}/{resourceName}/networkSecurityPerimeterConfigurations/{perimeterGuid}.{associationName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeterConfiguration + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceType, + Parameters.resourceName1, + Parameters.perimeterGuid, + Parameters.associationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const reconcileOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{resourceType}/{resourceName}/networkSecurityPerimeterConfigurations/{perimeterGuid}.{associationName}/reconcile", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeterConfiguration + }, + 201: { + bodyMapper: Mappers.NetworkSecurityPerimeterConfiguration + }, + 202: { + bodyMapper: Mappers.NetworkSecurityPerimeterConfiguration + }, + 204: { + bodyMapper: Mappers.NetworkSecurityPerimeterConfiguration + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceType, + Parameters.resourceName1, + Parameters.perimeterGuid, + Parameters.associationName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{resourceType}/{resourceName}/networkSecurityPerimeterConfigurations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeterConfigurationList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceType, + Parameters.resourceName1 + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/eventgrid/arm-eventgrid/src/operations/partnerNamespaces.ts b/sdk/eventgrid/arm-eventgrid/src/operations/partnerNamespaces.ts index 7cfdfa467152..dc23685c09d5 100644 --- a/sdk/eventgrid/arm-eventgrid/src/operations/partnerNamespaces.ts +++ b/sdk/eventgrid/arm-eventgrid/src/operations/partnerNamespaces.ts @@ -613,7 +613,9 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { 204: { bodyMapper: Mappers.PartnerNamespace }, - default: {} + default: { + bodyMapper: Mappers.ErrorResponse + } }, requestBody: Parameters.partnerNamespaceInfo, queryParameters: [Parameters.apiVersion], @@ -631,7 +633,15 @@ const deleteOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}", httpMethod: "DELETE", - responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -639,13 +649,22 @@ const deleteOperationSpec: coreClient.OperationSpec = { Parameters.resourceGroupName, Parameters.partnerNamespaceName ], + headerParameters: [Parameters.accept], serializer }; const updateOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}", httpMethod: "PATCH", - responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} }, + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, requestBody: Parameters.partnerNamespaceUpdateParameters, queryParameters: [Parameters.apiVersion], urlParameters: [ @@ -666,7 +685,9 @@ const listBySubscriptionOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.PartnerNamespacesListResult }, - default: {} + default: { + bodyMapper: Mappers.ErrorResponse + } }, queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top], urlParameters: [Parameters.$host, Parameters.subscriptionId], @@ -681,7 +702,9 @@ const listByResourceGroupOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.PartnerNamespacesListResult }, - default: {} + default: { + bodyMapper: Mappers.ErrorResponse + } }, queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top], urlParameters: [ @@ -700,7 +723,9 @@ const listSharedAccessKeysOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.PartnerNamespaceSharedAccessKeys }, - default: {} + default: { + bodyMapper: Mappers.ErrorResponse + } }, queryParameters: [Parameters.apiVersion], urlParameters: [ @@ -720,7 +745,9 @@ const regenerateKeyOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.PartnerNamespaceSharedAccessKeys }, - default: {} + default: { + bodyMapper: Mappers.ErrorResponse + } }, requestBody: Parameters.regenerateKeyRequest3, queryParameters: [Parameters.apiVersion], @@ -741,7 +768,9 @@ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.PartnerNamespacesListResult }, - default: {} + default: { + bodyMapper: Mappers.ErrorResponse + } }, urlParameters: [ Parameters.$host, @@ -758,7 +787,9 @@ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.PartnerNamespacesListResult }, - default: {} + default: { + bodyMapper: Mappers.ErrorResponse + } }, urlParameters: [ Parameters.$host, diff --git a/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/index.ts b/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/index.ts index 8a8dc2e80bf6..01ae297e1662 100644 --- a/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/index.ts +++ b/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/index.ts @@ -27,6 +27,7 @@ export * from "./partnerDestinations"; export * from "./partnerNamespaces"; export * from "./partnerRegistrations"; export * from "./partnerTopics"; +export * from "./networkSecurityPerimeterConfigurations"; export * from "./permissionBindings"; export * from "./privateEndpointConnections"; export * from "./privateLinkResources"; diff --git a/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/namespaceTopicEventSubscriptions.ts b/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/namespaceTopicEventSubscriptions.ts index 822840c75794..c8181866ff0e 100644 --- a/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/namespaceTopicEventSubscriptions.ts +++ b/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/namespaceTopicEventSubscriptions.ts @@ -18,7 +18,9 @@ import { NamespaceTopicEventSubscriptionsDeleteOptionalParams, SubscriptionUpdateParameters, NamespaceTopicEventSubscriptionsUpdateOptionalParams, - NamespaceTopicEventSubscriptionsUpdateResponse + NamespaceTopicEventSubscriptionsUpdateResponse, + NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams, + NamespaceTopicEventSubscriptionsGetDeliveryAttributesResponse } from "../models"; /// @@ -171,4 +173,20 @@ export interface NamespaceTopicEventSubscriptions { eventSubscriptionUpdateParameters: SubscriptionUpdateParameters, options?: NamespaceTopicEventSubscriptionsUpdateOptionalParams ): Promise; + /** + * Get all delivery attributes for an event subscription of a namespace topic. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param namespaceName Name of the namespace. + * @param topicName Name of the namespace topic. + * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names + * must be between 3 and 100 characters in length and use alphanumeric letters only. + * @param options The options parameters. + */ + getDeliveryAttributes( + resourceGroupName: string, + namespaceName: string, + topicName: string, + eventSubscriptionName: string, + options?: NamespaceTopicEventSubscriptionsGetDeliveryAttributesOptionalParams + ): Promise; } diff --git a/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/networkSecurityPerimeterConfigurations.ts b/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/networkSecurityPerimeterConfigurations.ts new file mode 100644 index 000000000000..2f5920c71f56 --- /dev/null +++ b/sdk/eventgrid/arm-eventgrid/src/operationsInterfaces/networkSecurityPerimeterConfigurations.ts @@ -0,0 +1,98 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + NetworkSecurityPerimeterConfiguration, + NetworkSecurityPerimeterResourceType, + NetworkSecurityPerimeterConfigurationsListOptionalParams, + NetworkSecurityPerimeterConfigurationsGetOptionalParams, + NetworkSecurityPerimeterConfigurationsGetResponse, + NetworkSecurityPerimeterConfigurationsReconcileOptionalParams, + NetworkSecurityPerimeterConfigurationsReconcileResponse +} from "../models"; + +/// +/** Interface representing a NetworkSecurityPerimeterConfigurations. */ +export interface NetworkSecurityPerimeterConfigurations { + /** + * Get all network security perimeter configurations associated with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\' or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param options The options parameters. + */ + list( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + options?: NetworkSecurityPerimeterConfigurationsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a specific network security perimeter configuration with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\', or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param perimeterGuid Unique identifier for perimeter + * @param associationName Association name to association network security perimeter resource to + * profile + * @param options The options parameters. + */ + get( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + perimeterGuid: string, + associationName: string, + options?: NetworkSecurityPerimeterConfigurationsGetOptionalParams + ): Promise; + /** + * Reconcile a specific network security perimeter configuration for a given network security perimeter + * association with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\' or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param perimeterGuid Unique identifier for perimeter + * @param associationName Association name to association network security perimeter resource to + * profile + * @param options The options parameters. + */ + beginReconcile( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + perimeterGuid: string, + associationName: string, + options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + NetworkSecurityPerimeterConfigurationsReconcileResponse + > + >; + /** + * Reconcile a specific network security perimeter configuration for a given network security perimeter + * association with a topic or domain. + * @param resourceGroupName The name of the resource group within the user's subscription. + * @param resourceType The type of the resource. This can be either \'topics\' or \'domains\'. + * @param resourceName The name of the resource (namely, either, the topic name or domain name). + * @param perimeterGuid Unique identifier for perimeter + * @param associationName Association name to association network security perimeter resource to + * profile + * @param options The options parameters. + */ + beginReconcileAndWait( + resourceGroupName: string, + resourceType: NetworkSecurityPerimeterResourceType, + resourceName: string, + perimeterGuid: string, + associationName: string, + options?: NetworkSecurityPerimeterConfigurationsReconcileOptionalParams + ): Promise; +} diff --git a/sdk/eventgrid/arm-eventgrid/test/sampleTest.ts b/sdk/eventgrid/arm-eventgrid/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/eventgrid/arm-eventgrid/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/eventgrid/arm-eventgrid/tsconfig.json b/sdk/eventgrid/arm-eventgrid/tsconfig.json index bf7a2cee2deb..3e6ae96443f3 100644 --- a/sdk/eventgrid/arm-eventgrid/tsconfig.json +++ b/sdk/eventgrid/arm-eventgrid/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-eventgrid": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"