# coding=utf-8
# pylint: disable=too-many-lines
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
import datetime
import sys
from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union
from .. import _serialization
if sys.version_info >= (3, 9):
from collections.abc import MutableMapping
else:
from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports
if TYPE_CHECKING:
# pylint: disable=unused-import,ungrouped-imports
from .. import models as _models
JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object
[docs]class AdvancedFilter(_serialization.Model):
"""This is the base type that represents an advanced filter. To configure an advanced filter, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class such as BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter etc. depending on the type of the key based on which you want to filter.
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
BoolEqualsAdvancedFilter, IsNotNullAdvancedFilter, IsNullOrUndefinedAdvancedFilter,
NumberGreaterThanAdvancedFilter, NumberGreaterThanOrEqualsAdvancedFilter,
NumberInAdvancedFilter, NumberInRangeAdvancedFilter, NumberLessThanAdvancedFilter,
NumberLessThanOrEqualsAdvancedFilter, NumberNotInAdvancedFilter,
NumberNotInRangeAdvancedFilter, StringBeginsWithAdvancedFilter, StringContainsAdvancedFilter,
StringEndsWithAdvancedFilter, StringInAdvancedFilter, StringNotBeginsWithAdvancedFilter,
StringNotContainsAdvancedFilter, StringNotEndsWithAdvancedFilter, StringNotInAdvancedFilter
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
}
_subtype_map = {
"operator_type": {
"BoolEquals": "BoolEqualsAdvancedFilter",
"IsNotNull": "IsNotNullAdvancedFilter",
"IsNullOrUndefined": "IsNullOrUndefinedAdvancedFilter",
"NumberGreaterThan": "NumberGreaterThanAdvancedFilter",
"NumberGreaterThanOrEquals": "NumberGreaterThanOrEqualsAdvancedFilter",
"NumberIn": "NumberInAdvancedFilter",
"NumberInRange": "NumberInRangeAdvancedFilter",
"NumberLessThan": "NumberLessThanAdvancedFilter",
"NumberLessThanOrEquals": "NumberLessThanOrEqualsAdvancedFilter",
"NumberNotIn": "NumberNotInAdvancedFilter",
"NumberNotInRange": "NumberNotInRangeAdvancedFilter",
"StringBeginsWith": "StringBeginsWithAdvancedFilter",
"StringContains": "StringContainsAdvancedFilter",
"StringEndsWith": "StringEndsWithAdvancedFilter",
"StringIn": "StringInAdvancedFilter",
"StringNotBeginsWith": "StringNotBeginsWithAdvancedFilter",
"StringNotContains": "StringNotContainsAdvancedFilter",
"StringNotEndsWith": "StringNotEndsWithAdvancedFilter",
"StringNotIn": "StringNotInAdvancedFilter",
}
}
def __init__(self, *, key: Optional[str] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
"""
super().__init__(**kwargs)
self.operator_type: Optional[str] = None
self.key = key
[docs]class EventSubscriptionDestination(_serialization.Model):
"""Information about the destination for an event subscription.
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
AzureFunctionEventSubscriptionDestination, EventHubEventSubscriptionDestination,
HybridConnectionEventSubscriptionDestination, ServiceBusQueueEventSubscriptionDestination,
ServiceBusTopicEventSubscriptionDestination, StorageQueueEventSubscriptionDestination,
WebHookEventSubscriptionDestination
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
}
_subtype_map = {
"endpoint_type": {
"AzureFunction": "AzureFunctionEventSubscriptionDestination",
"EventHub": "EventHubEventSubscriptionDestination",
"HybridConnection": "HybridConnectionEventSubscriptionDestination",
"ServiceBusQueue": "ServiceBusQueueEventSubscriptionDestination",
"ServiceBusTopic": "ServiceBusTopicEventSubscriptionDestination",
"StorageQueue": "StorageQueueEventSubscriptionDestination",
"WebHook": "WebHookEventSubscriptionDestination",
}
}
def __init__(self, **kwargs):
""" """
super().__init__(**kwargs)
self.endpoint_type: Optional[str] = None
[docs]class AzureFunctionEventSubscriptionDestination(EventSubscriptionDestination):
"""Information about the azure function destination for an event subscription.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
:ivar resource_id: The Azure Resource Id that represents the endpoint of the Azure Function
destination of an event subscription.
:vartype resource_id: str
:ivar max_events_per_batch: Maximum number of events per batch.
:vartype max_events_per_batch: int
:ivar preferred_batch_size_in_kilobytes: Preferred batch size in Kilobytes.
:vartype preferred_batch_size_in_kilobytes: int
:ivar delivery_attribute_mappings: Delivery attribute details.
:vartype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"resource_id": {"key": "properties.resourceId", "type": "str"},
"max_events_per_batch": {"key": "properties.maxEventsPerBatch", "type": "int"},
"preferred_batch_size_in_kilobytes": {"key": "properties.preferredBatchSizeInKilobytes", "type": "int"},
"delivery_attribute_mappings": {
"key": "properties.deliveryAttributeMappings",
"type": "[DeliveryAttributeMapping]",
},
}
def __init__(
self,
*,
resource_id: Optional[str] = None,
max_events_per_batch: int = 1,
preferred_batch_size_in_kilobytes: int = 64,
delivery_attribute_mappings: Optional[List["_models.DeliveryAttributeMapping"]] = None,
**kwargs
):
"""
:keyword resource_id: The Azure Resource Id that represents the endpoint of the Azure Function
destination of an event subscription.
:paramtype resource_id: str
:keyword max_events_per_batch: Maximum number of events per batch.
:paramtype max_events_per_batch: int
:keyword preferred_batch_size_in_kilobytes: Preferred batch size in Kilobytes.
:paramtype preferred_batch_size_in_kilobytes: int
:keyword delivery_attribute_mappings: Delivery attribute details.
:paramtype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
super().__init__(**kwargs)
self.endpoint_type: str = "AzureFunction"
self.resource_id = resource_id
self.max_events_per_batch = max_events_per_batch
self.preferred_batch_size_in_kilobytes = preferred_batch_size_in_kilobytes
self.delivery_attribute_mappings = delivery_attribute_mappings
[docs]class BoolEqualsAdvancedFilter(AdvancedFilter):
"""BoolEquals Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar value: The boolean filter value.
:vartype value: bool
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"value": {"key": "value", "type": "bool"},
}
def __init__(self, *, key: Optional[str] = None, value: Optional[bool] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword value: The boolean filter value.
:paramtype value: bool
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "BoolEquals"
self.value = value
[docs]class Resource(_serialization.Model):
"""Definition of a Resource.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
}
def __init__(self, **kwargs):
""" """
super().__init__(**kwargs)
self.id = None
self.name = None
self.type = None
[docs]class Channel(Resource):
"""Channel info.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar system_data: The system metadata relating to Channel resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar channel_type: The type of the event channel which represents the direction flow of
events. "PartnerTopic"
:vartype channel_type: str or ~azure.mgmt.eventgrid.models.ChannelType
:ivar partner_topic_info: This property should be populated when channelType is PartnerTopic
and represents information about the partner topic resource corresponding to the channel.
:vartype partner_topic_info: ~azure.mgmt.eventgrid.models.PartnerTopicInfo
:ivar message_for_activation: Context or helpful message that can be used during the approval
process by the subscriber.
:vartype message_for_activation: str
:ivar provisioning_state: Provisioning state of the channel. Known values are: "Creating",
"Updating", "Deleting", "Succeeded", "Canceled", "Failed", and
"IdleDueToMirroredPartnerTopicDeletion".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.ChannelProvisioningState
:ivar readiness_state: The readiness state of the corresponding partner topic. Known values
are: "NeverActivated" and "Activated".
:vartype readiness_state: str or ~azure.mgmt.eventgrid.models.ReadinessState
:ivar expiration_time_if_not_activated_utc: Expiration time of the channel. If this timer
expires while the corresponding partner topic is never activated,
the channel and corresponding partner topic are deleted.
:vartype expiration_time_if_not_activated_utc: ~datetime.datetime
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"channel_type": {"key": "properties.channelType", "type": "str"},
"partner_topic_info": {"key": "properties.partnerTopicInfo", "type": "PartnerTopicInfo"},
"message_for_activation": {"key": "properties.messageForActivation", "type": "str"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"readiness_state": {"key": "properties.readinessState", "type": "str"},
"expiration_time_if_not_activated_utc": {
"key": "properties.expirationTimeIfNotActivatedUtc",
"type": "iso-8601",
},
}
def __init__(
self,
*,
channel_type: Optional[Union[str, "_models.ChannelType"]] = None,
partner_topic_info: Optional["_models.PartnerTopicInfo"] = None,
message_for_activation: Optional[str] = None,
provisioning_state: Optional[Union[str, "_models.ChannelProvisioningState"]] = None,
readiness_state: Optional[Union[str, "_models.ReadinessState"]] = None,
expiration_time_if_not_activated_utc: Optional[datetime.datetime] = None,
**kwargs
):
"""
:keyword channel_type: The type of the event channel which represents the direction flow of
events. "PartnerTopic"
:paramtype channel_type: str or ~azure.mgmt.eventgrid.models.ChannelType
:keyword partner_topic_info: This property should be populated when channelType is PartnerTopic
and represents information about the partner topic resource corresponding to the channel.
:paramtype partner_topic_info: ~azure.mgmt.eventgrid.models.PartnerTopicInfo
:keyword message_for_activation: Context or helpful message that can be used during the
approval process by the subscriber.
:paramtype message_for_activation: str
:keyword provisioning_state: Provisioning state of the channel. Known values are: "Creating",
"Updating", "Deleting", "Succeeded", "Canceled", "Failed", and
"IdleDueToMirroredPartnerTopicDeletion".
:paramtype provisioning_state: str or ~azure.mgmt.eventgrid.models.ChannelProvisioningState
:keyword readiness_state: The readiness state of the corresponding partner topic. Known values
are: "NeverActivated" and "Activated".
:paramtype readiness_state: str or ~azure.mgmt.eventgrid.models.ReadinessState
:keyword expiration_time_if_not_activated_utc: Expiration time of the channel. If this timer
expires while the corresponding partner topic is never activated,
the channel and corresponding partner topic are deleted.
:paramtype expiration_time_if_not_activated_utc: ~datetime.datetime
"""
super().__init__(**kwargs)
self.system_data = None
self.channel_type = channel_type
self.partner_topic_info = partner_topic_info
self.message_for_activation = message_for_activation
self.provisioning_state = provisioning_state
self.readiness_state = readiness_state
self.expiration_time_if_not_activated_utc = expiration_time_if_not_activated_utc
[docs]class ChannelsListResult(_serialization.Model):
"""Result of the List Channels operation.
:ivar value: A collection of Channels.
:vartype value: list[~azure.mgmt.eventgrid.models.Channel]
:ivar next_link: A link for the next page of channels.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[Channel]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, *, value: Optional[List["_models.Channel"]] = None, next_link: Optional[str] = None, **kwargs):
"""
:keyword value: A collection of Channels.
:paramtype value: list[~azure.mgmt.eventgrid.models.Channel]
:keyword next_link: A link for the next page of channels.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class ChannelUpdateParameters(_serialization.Model):
"""Properties of the Channel update.
:ivar expiration_time_if_not_activated_utc: Expiration time of the channel. If this timer
expires while the corresponding partner topic or partner destination is never activated,
the channel and corresponding partner topic or partner destination are deleted.
:vartype expiration_time_if_not_activated_utc: ~datetime.datetime
:ivar partner_topic_info: Partner topic properties which can be updated if the channel is of
type PartnerTopic.
:vartype partner_topic_info: ~azure.mgmt.eventgrid.models.PartnerUpdateTopicInfo
"""
_attribute_map = {
"expiration_time_if_not_activated_utc": {
"key": "properties.expirationTimeIfNotActivatedUtc",
"type": "iso-8601",
},
"partner_topic_info": {"key": "properties.partnerTopicInfo", "type": "PartnerUpdateTopicInfo"},
}
def __init__(
self,
*,
expiration_time_if_not_activated_utc: Optional[datetime.datetime] = None,
partner_topic_info: Optional["_models.PartnerUpdateTopicInfo"] = None,
**kwargs
):
"""
:keyword expiration_time_if_not_activated_utc: Expiration time of the channel. If this timer
expires while the corresponding partner topic or partner destination is never activated,
the channel and corresponding partner topic or partner destination are deleted.
:paramtype expiration_time_if_not_activated_utc: ~datetime.datetime
:keyword partner_topic_info: Partner topic properties which can be updated if the channel is of
type PartnerTopic.
:paramtype partner_topic_info: ~azure.mgmt.eventgrid.models.PartnerUpdateTopicInfo
"""
super().__init__(**kwargs)
self.expiration_time_if_not_activated_utc = expiration_time_if_not_activated_utc
self.partner_topic_info = partner_topic_info
[docs]class ConnectionState(_serialization.Model):
"""ConnectionState information.
:ivar status: Status of the connection. Known values are: "Pending", "Approved", "Rejected",
and "Disconnected".
:vartype status: str or ~azure.mgmt.eventgrid.models.PersistedConnectionStatus
:ivar description: Description of the connection state.
:vartype description: str
:ivar actions_required: Actions required (if any).
:vartype actions_required: str
"""
_attribute_map = {
"status": {"key": "status", "type": "str"},
"description": {"key": "description", "type": "str"},
"actions_required": {"key": "actionsRequired", "type": "str"},
}
def __init__(
self,
*,
status: Optional[Union[str, "_models.PersistedConnectionStatus"]] = None,
description: Optional[str] = None,
actions_required: Optional[str] = None,
**kwargs
):
"""
:keyword status: Status of the connection. Known values are: "Pending", "Approved", "Rejected",
and "Disconnected".
:paramtype status: str or ~azure.mgmt.eventgrid.models.PersistedConnectionStatus
:keyword description: Description of the connection state.
:paramtype description: str
:keyword actions_required: Actions required (if any).
:paramtype actions_required: str
"""
super().__init__(**kwargs)
self.status = status
self.description = description
self.actions_required = actions_required
[docs]class DeadLetterDestination(_serialization.Model):
"""Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
StorageBlobDeadLetterDestination
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the dead letter destination. Required.
"StorageBlob"
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.DeadLetterEndPointType
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
}
_subtype_map = {"endpoint_type": {"StorageBlob": "StorageBlobDeadLetterDestination"}}
def __init__(self, **kwargs):
""" """
super().__init__(**kwargs)
self.endpoint_type: Optional[str] = None
[docs]class DeadLetterWithResourceIdentity(_serialization.Model):
"""Information about the deadletter destination with resource identity.
:ivar identity: The identity to use when dead-lettering events.
:vartype identity: ~azure.mgmt.eventgrid.models.EventSubscriptionIdentity
:ivar dead_letter_destination: 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.
:vartype dead_letter_destination: ~azure.mgmt.eventgrid.models.DeadLetterDestination
"""
_attribute_map = {
"identity": {"key": "identity", "type": "EventSubscriptionIdentity"},
"dead_letter_destination": {"key": "deadLetterDestination", "type": "DeadLetterDestination"},
}
def __init__(
self,
*,
identity: Optional["_models.EventSubscriptionIdentity"] = None,
dead_letter_destination: Optional["_models.DeadLetterDestination"] = None,
**kwargs
):
"""
:keyword identity: The identity to use when dead-lettering events.
:paramtype identity: ~azure.mgmt.eventgrid.models.EventSubscriptionIdentity
:keyword dead_letter_destination: 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.
:paramtype dead_letter_destination: ~azure.mgmt.eventgrid.models.DeadLetterDestination
"""
super().__init__(**kwargs)
self.identity = identity
self.dead_letter_destination = dead_letter_destination
[docs]class DeliveryAttributeListResult(_serialization.Model):
"""Result of the Get delivery attributes operation.
:ivar value: A collection of DeliveryAttributeMapping.
:vartype value: list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
_attribute_map = {
"value": {"key": "value", "type": "[DeliveryAttributeMapping]"},
}
def __init__(self, *, value: Optional[List["_models.DeliveryAttributeMapping"]] = None, **kwargs):
"""
:keyword value: A collection of DeliveryAttributeMapping.
:paramtype value: list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
super().__init__(**kwargs)
self.value = value
[docs]class DeliveryAttributeMapping(_serialization.Model):
"""Delivery attribute mapping details.
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
DynamicDeliveryAttributeMapping, StaticDeliveryAttributeMapping
All required parameters must be populated in order to send to Azure.
:ivar name: Name of the delivery attribute or header.
:vartype name: str
:ivar type: Type of the delivery attribute or header name. Required. Known values are: "Static"
and "Dynamic".
:vartype type: str or ~azure.mgmt.eventgrid.models.DeliveryAttributeMappingType
"""
_validation = {
"type": {"required": True},
}
_attribute_map = {
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
}
_subtype_map = {"type": {"Dynamic": "DynamicDeliveryAttributeMapping", "Static": "StaticDeliveryAttributeMapping"}}
def __init__(self, *, name: Optional[str] = None, **kwargs):
"""
:keyword name: Name of the delivery attribute or header.
:paramtype name: str
"""
super().__init__(**kwargs)
self.name = name
self.type: Optional[str] = None
[docs]class DeliveryWithResourceIdentity(_serialization.Model):
"""Information about the delivery for an event subscription with resource identity.
:ivar identity: The identity to use when delivering events.
:vartype identity: ~azure.mgmt.eventgrid.models.EventSubscriptionIdentity
:ivar destination: 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.
:vartype destination: ~azure.mgmt.eventgrid.models.EventSubscriptionDestination
"""
_attribute_map = {
"identity": {"key": "identity", "type": "EventSubscriptionIdentity"},
"destination": {"key": "destination", "type": "EventSubscriptionDestination"},
}
def __init__(
self,
*,
identity: Optional["_models.EventSubscriptionIdentity"] = None,
destination: Optional["_models.EventSubscriptionDestination"] = None,
**kwargs
):
"""
:keyword identity: The identity to use when delivering events.
:paramtype identity: ~azure.mgmt.eventgrid.models.EventSubscriptionIdentity
:keyword destination: 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.
:paramtype destination: ~azure.mgmt.eventgrid.models.EventSubscriptionDestination
"""
super().__init__(**kwargs)
self.identity = identity
self.destination = destination
[docs]class TrackedResource(Resource):
"""Definition of a Tracked Resource.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar location: Location of the resource. Required.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"location": {"required": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
}
def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs):
"""
:keyword location: Location of the resource. Required.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
"""
super().__init__(**kwargs)
self.location = location
self.tags = tags
[docs]class Domain(TrackedResource): # pylint: disable=too-many-instance-attributes
"""EventGrid Domain.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar location: Location of the resource. Required.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
:ivar system_data: The system metadata relating to the Event Grid Domain resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar identity: Identity information for the Event Grid Domain resource.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:ivar private_endpoint_connections: List of private endpoint connections.
:vartype private_endpoint_connections:
list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection]
:ivar provisioning_state: Provisioning state of the Event Grid Domain Resource. Known values
are: "Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.DomainProvisioningState
:ivar endpoint: Endpoint for the Event Grid Domain Resource which is used for publishing the
events.
:vartype endpoint: str
:ivar input_schema: This determines the format that Event Grid should expect for incoming
events published to the Event Grid Domain Resource. Known values are: "EventGridSchema",
"CustomEventSchema", and "CloudEventSchemaV1_0".
:vartype input_schema: str or ~azure.mgmt.eventgrid.models.InputSchema
:ivar input_schema_mapping: Information about the InputSchemaMapping which specified the info
about mapping event payload.
:vartype input_schema_mapping: ~azure.mgmt.eventgrid.models.InputSchemaMapping
:ivar metric_resource_id: Metric resource id for the Event Grid Domain Resource.
:vartype metric_resource_id: str
:ivar public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:vartype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:ivar inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of all
IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:vartype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:ivar disable_local_auth: This boolean is used to enable or disable local auth. Default value
is false. When the property is set to true, only AAD token will be used to authenticate if user
is allowed to publish to the domain.
:vartype disable_local_auth: bool
:ivar auto_create_topic_with_first_subscription: This Boolean is used to specify the creation
mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain
resource.
In this context, creation of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is null or set to true, Event Grid is responsible of automatically creating
the domain topic when the first event subscription is
created at the scope of the domain topic. If this property is set to false, then creating the
first event subscription will require creating a domain topic
by the user. The self-management mode can be used if the user wants full control of when the
domain topic is created, while auto-managed mode provides the
flexibility to perform less operations and manage fewer resources by the user. Also, note that
in auto-managed creation mode, user is allowed to create the
domain topic on demand if needed.
:vartype auto_create_topic_with_first_subscription: bool
:ivar auto_delete_topic_with_last_subscription: This Boolean is used to specify the deletion
mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain
resource.
In this context, deletion of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is set to true, Event Grid is responsible of automatically deleting the
domain topic when the last event subscription at the scope
of the domain topic is deleted. If this property is set to false, then the user needs to
manually delete the domain topic when it is no longer needed
(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The
self-management mode can be used if the user wants full
control of when the domain topic needs to be deleted, while auto-managed mode provides the
flexibility to perform less operations and manage fewer
resources by the user.
:vartype auto_delete_topic_with_last_subscription: bool
:ivar data_residency_boundary: Data Residency Boundary of the resource. Known values are:
"WithinGeopair" and "WithinRegion".
:vartype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"location": {"required": True},
"system_data": {"readonly": True},
"private_endpoint_connections": {"readonly": True},
"provisioning_state": {"readonly": True},
"endpoint": {"readonly": True},
"metric_resource_id": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"system_data": {"key": "systemData", "type": "SystemData"},
"identity": {"key": "identity", "type": "IdentityInfo"},
"private_endpoint_connections": {
"key": "properties.privateEndpointConnections",
"type": "[PrivateEndpointConnection]",
},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"endpoint": {"key": "properties.endpoint", "type": "str"},
"input_schema": {"key": "properties.inputSchema", "type": "str"},
"input_schema_mapping": {"key": "properties.inputSchemaMapping", "type": "InputSchemaMapping"},
"metric_resource_id": {"key": "properties.metricResourceId", "type": "str"},
"public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"},
"inbound_ip_rules": {"key": "properties.inboundIpRules", "type": "[InboundIpRule]"},
"disable_local_auth": {"key": "properties.disableLocalAuth", "type": "bool"},
"auto_create_topic_with_first_subscription": {
"key": "properties.autoCreateTopicWithFirstSubscription",
"type": "bool",
},
"auto_delete_topic_with_last_subscription": {
"key": "properties.autoDeleteTopicWithLastSubscription",
"type": "bool",
},
"data_residency_boundary": {"key": "properties.dataResidencyBoundary", "type": "str"},
}
def __init__(
self,
*,
location: str,
tags: Optional[Dict[str, str]] = None,
identity: Optional["_models.IdentityInfo"] = None,
input_schema: Optional[Union[str, "_models.InputSchema"]] = None,
input_schema_mapping: Optional["_models.InputSchemaMapping"] = None,
public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
inbound_ip_rules: Optional[List["_models.InboundIpRule"]] = None,
disable_local_auth: bool = False,
auto_create_topic_with_first_subscription: bool = True,
auto_delete_topic_with_last_subscription: bool = True,
data_residency_boundary: Optional[Union[str, "_models.DataResidencyBoundary"]] = None,
**kwargs
):
"""
:keyword location: Location of the resource. Required.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
:keyword identity: Identity information for the Event Grid Domain resource.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:keyword input_schema: This determines the format that Event Grid should expect for incoming
events published to the Event Grid Domain Resource. Known values are: "EventGridSchema",
"CustomEventSchema", and "CloudEventSchemaV1_0".
:paramtype input_schema: str or ~azure.mgmt.eventgrid.models.InputSchema
:keyword input_schema_mapping: Information about the InputSchemaMapping which specified the
info about mapping event payload.
:paramtype input_schema_mapping: ~azure.mgmt.eventgrid.models.InputSchemaMapping
:keyword public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:paramtype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:keyword inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of
all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:paramtype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:keyword disable_local_auth: This boolean is used to enable or disable local auth. Default
value is false. When the property is set to true, only AAD token will be used to authenticate
if user is allowed to publish to the domain.
:paramtype disable_local_auth: bool
:keyword auto_create_topic_with_first_subscription: This Boolean is used to specify the
creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid
Domain resource.
In this context, creation of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is null or set to true, Event Grid is responsible of automatically creating
the domain topic when the first event subscription is
created at the scope of the domain topic. If this property is set to false, then creating the
first event subscription will require creating a domain topic
by the user. The self-management mode can be used if the user wants full control of when the
domain topic is created, while auto-managed mode provides the
flexibility to perform less operations and manage fewer resources by the user. Also, note that
in auto-managed creation mode, user is allowed to create the
domain topic on demand if needed.
:paramtype auto_create_topic_with_first_subscription: bool
:keyword auto_delete_topic_with_last_subscription: This Boolean is used to specify the deletion
mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain
resource.
In this context, deletion of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is set to true, Event Grid is responsible of automatically deleting the
domain topic when the last event subscription at the scope
of the domain topic is deleted. If this property is set to false, then the user needs to
manually delete the domain topic when it is no longer needed
(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The
self-management mode can be used if the user wants full
control of when the domain topic needs to be deleted, while auto-managed mode provides the
flexibility to perform less operations and manage fewer
resources by the user.
:paramtype auto_delete_topic_with_last_subscription: bool
:keyword data_residency_boundary: Data Residency Boundary of the resource. Known values are:
"WithinGeopair" and "WithinRegion".
:paramtype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
super().__init__(location=location, tags=tags, **kwargs)
self.system_data = None
self.identity = identity
self.private_endpoint_connections = None
self.provisioning_state = None
self.endpoint = None
self.input_schema = input_schema
self.input_schema_mapping = input_schema_mapping
self.metric_resource_id = None
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.disable_local_auth = disable_local_auth
self.auto_create_topic_with_first_subscription = auto_create_topic_with_first_subscription
self.auto_delete_topic_with_last_subscription = auto_delete_topic_with_last_subscription
self.data_residency_boundary = data_residency_boundary
[docs]class DomainRegenerateKeyRequest(_serialization.Model):
"""Domain regenerate share access key request.
All required parameters must be populated in order to send to Azure.
:ivar key_name: Key name to regenerate key1 or key2. Required.
:vartype key_name: str
"""
_validation = {
"key_name": {"required": True},
}
_attribute_map = {
"key_name": {"key": "keyName", "type": "str"},
}
def __init__(self, *, key_name: str, **kwargs):
"""
:keyword key_name: Key name to regenerate key1 or key2. Required.
:paramtype key_name: str
"""
super().__init__(**kwargs)
self.key_name = key_name
[docs]class DomainSharedAccessKeys(_serialization.Model):
"""Shared access keys of the Domain.
:ivar key1: Shared access key1 for the domain.
:vartype key1: str
:ivar key2: Shared access key2 for the domain.
:vartype key2: str
"""
_attribute_map = {
"key1": {"key": "key1", "type": "str"},
"key2": {"key": "key2", "type": "str"},
}
def __init__(self, *, key1: Optional[str] = None, key2: Optional[str] = None, **kwargs):
"""
:keyword key1: Shared access key1 for the domain.
:paramtype key1: str
:keyword key2: Shared access key2 for the domain.
:paramtype key2: str
"""
super().__init__(**kwargs)
self.key1 = key1
self.key2 = key2
[docs]class DomainsListResult(_serialization.Model):
"""Result of the List Domains operation.
:ivar value: A collection of Domains.
:vartype value: list[~azure.mgmt.eventgrid.models.Domain]
:ivar next_link: A link for the next page of domains.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[Domain]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, *, value: Optional[List["_models.Domain"]] = None, next_link: Optional[str] = None, **kwargs):
"""
:keyword value: A collection of Domains.
:paramtype value: list[~azure.mgmt.eventgrid.models.Domain]
:keyword next_link: A link for the next page of domains.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class DomainTopic(Resource):
"""Domain Topic.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar system_data: The system metadata relating to Domain Topic resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar provisioning_state: Provisioning state of the domain topic. Known values are: "Creating",
"Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.DomainTopicProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(self, **kwargs):
""" """
super().__init__(**kwargs)
self.system_data = None
self.provisioning_state = None
[docs]class DomainTopicsListResult(_serialization.Model):
"""Result of the List Domain Topics operation.
:ivar value: A collection of Domain Topics.
:vartype value: list[~azure.mgmt.eventgrid.models.DomainTopic]
:ivar next_link: A link for the next page of domain topics.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[DomainTopic]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.DomainTopic"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of Domain Topics.
:paramtype value: list[~azure.mgmt.eventgrid.models.DomainTopic]
:keyword next_link: A link for the next page of domain topics.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class DomainUpdateParameters(_serialization.Model):
"""Properties of the Domain update.
:ivar tags: Tags of the domains resource.
:vartype tags: dict[str, str]
:ivar identity: Identity information for the resource.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:ivar public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainUpdateParameterProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:vartype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:ivar inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of all
IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:vartype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:ivar disable_local_auth: This boolean is used to enable or disable local auth. Default value
is false. When the property is set to true, only AAD token will be used to authenticate if user
is allowed to publish to the domain.
:vartype disable_local_auth: bool
:ivar auto_create_topic_with_first_subscription: This Boolean is used to specify the creation
mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain
resource.
In this context, creation of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is null or set to true, Event Grid is responsible of automatically creating
the domain topic when the first event subscription is
created at the scope of the domain topic. If this property is set to false, then creating the
first event subscription will require creating a domain topic
by the user. The self-management mode can be used if the user wants full control of when the
domain topic is created, while auto-managed mode provides the
flexibility to perform less operations and manage fewer resources by the user. Also, note that
in auto-managed creation mode, user is allowed to create the
domain topic on demand if needed.
:vartype auto_create_topic_with_first_subscription: bool
:ivar auto_delete_topic_with_last_subscription: This Boolean is used to specify the deletion
mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain
resource.
In this context, deletion of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is set to true, Event Grid is responsible of automatically deleting the
domain topic when the last event subscription at the scope
of the domain topic is deleted. If this property is set to false, then the user needs to
manually delete the domain topic when it is no longer needed
(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The
self-management mode can be used if the user wants full
control of when the domain topic needs to be deleted, while auto-managed mode provides the
flexibility to perform less operations and manage fewer
resources by the user.
:vartype auto_delete_topic_with_last_subscription: bool
:ivar data_residency_boundary: The data residency boundary for the domain. Known values are:
"WithinGeopair" and "WithinRegion".
:vartype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
"identity": {"key": "identity", "type": "IdentityInfo"},
"public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"},
"inbound_ip_rules": {"key": "properties.inboundIpRules", "type": "[InboundIpRule]"},
"disable_local_auth": {"key": "properties.disableLocalAuth", "type": "bool"},
"auto_create_topic_with_first_subscription": {
"key": "properties.autoCreateTopicWithFirstSubscription",
"type": "bool",
},
"auto_delete_topic_with_last_subscription": {
"key": "properties.autoDeleteTopicWithLastSubscription",
"type": "bool",
},
"data_residency_boundary": {"key": "properties.dataResidencyBoundary", "type": "str"},
}
def __init__(
self,
*,
tags: Optional[Dict[str, str]] = None,
identity: Optional["_models.IdentityInfo"] = None,
public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
inbound_ip_rules: Optional[List["_models.InboundIpRule"]] = None,
disable_local_auth: Optional[bool] = None,
auto_create_topic_with_first_subscription: Optional[bool] = None,
auto_delete_topic_with_last_subscription: Optional[bool] = None,
data_residency_boundary: Optional[Union[str, "_models.DataResidencyBoundary"]] = None,
**kwargs
):
"""
:keyword tags: Tags of the domains resource.
:paramtype tags: dict[str, str]
:keyword identity: Identity information for the resource.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:keyword public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainUpdateParameterProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:paramtype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:keyword inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of
all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:paramtype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:keyword disable_local_auth: This boolean is used to enable or disable local auth. Default
value is false. When the property is set to true, only AAD token will be used to authenticate
if user is allowed to publish to the domain.
:paramtype disable_local_auth: bool
:keyword auto_create_topic_with_first_subscription: This Boolean is used to specify the
creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid
Domain resource.
In this context, creation of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is null or set to true, Event Grid is responsible of automatically creating
the domain topic when the first event subscription is
created at the scope of the domain topic. If this property is set to false, then creating the
first event subscription will require creating a domain topic
by the user. The self-management mode can be used if the user wants full control of when the
domain topic is created, while auto-managed mode provides the
flexibility to perform less operations and manage fewer resources by the user. Also, note that
in auto-managed creation mode, user is allowed to create the
domain topic on demand if needed.
:paramtype auto_create_topic_with_first_subscription: bool
:keyword auto_delete_topic_with_last_subscription: This Boolean is used to specify the deletion
mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain
resource.
In this context, deletion of domain topic can be auto-managed (when true) or self-managed
(when false). The default value for this property is true.
When this property is set to true, Event Grid is responsible of automatically deleting the
domain topic when the last event subscription at the scope
of the domain topic is deleted. If this property is set to false, then the user needs to
manually delete the domain topic when it is no longer needed
(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The
self-management mode can be used if the user wants full
control of when the domain topic needs to be deleted, while auto-managed mode provides the
flexibility to perform less operations and manage fewer
resources by the user.
:paramtype auto_delete_topic_with_last_subscription: bool
:keyword data_residency_boundary: The data residency boundary for the domain. Known values are:
"WithinGeopair" and "WithinRegion".
:paramtype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
super().__init__(**kwargs)
self.tags = tags
self.identity = identity
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.disable_local_auth = disable_local_auth
self.auto_create_topic_with_first_subscription = auto_create_topic_with_first_subscription
self.auto_delete_topic_with_last_subscription = auto_delete_topic_with_last_subscription
self.data_residency_boundary = data_residency_boundary
[docs]class DynamicDeliveryAttributeMapping(DeliveryAttributeMapping):
"""Dynamic delivery attribute mapping details.
All required parameters must be populated in order to send to Azure.
:ivar name: Name of the delivery attribute or header.
:vartype name: str
:ivar type: Type of the delivery attribute or header name. Required. Known values are: "Static"
and "Dynamic".
:vartype type: str or ~azure.mgmt.eventgrid.models.DeliveryAttributeMappingType
:ivar source_field: JSON path in the event which contains attribute value.
:vartype source_field: str
"""
_validation = {
"type": {"required": True},
}
_attribute_map = {
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"source_field": {"key": "properties.sourceField", "type": "str"},
}
def __init__(self, *, name: Optional[str] = None, source_field: Optional[str] = None, **kwargs):
"""
:keyword name: Name of the delivery attribute or header.
:paramtype name: str
:keyword source_field: JSON path in the event which contains attribute value.
:paramtype source_field: str
"""
super().__init__(name=name, **kwargs)
self.type: str = "Dynamic"
self.source_field = source_field
[docs]class EventHubEventSubscriptionDestination(EventSubscriptionDestination):
"""Information about the event hub destination for an event subscription.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
:ivar resource_id: The Azure Resource Id that represents the endpoint of an Event Hub
destination of an event subscription.
:vartype resource_id: str
:ivar delivery_attribute_mappings: Delivery attribute details.
:vartype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"resource_id": {"key": "properties.resourceId", "type": "str"},
"delivery_attribute_mappings": {
"key": "properties.deliveryAttributeMappings",
"type": "[DeliveryAttributeMapping]",
},
}
def __init__(
self,
*,
resource_id: Optional[str] = None,
delivery_attribute_mappings: Optional[List["_models.DeliveryAttributeMapping"]] = None,
**kwargs
):
"""
:keyword resource_id: The Azure Resource Id that represents the endpoint of an Event Hub
destination of an event subscription.
:paramtype resource_id: str
:keyword delivery_attribute_mappings: Delivery attribute details.
:paramtype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
super().__init__(**kwargs)
self.endpoint_type: str = "EventHub"
self.resource_id = resource_id
self.delivery_attribute_mappings = delivery_attribute_mappings
[docs]class EventSubscription(Resource): # pylint: disable=too-many-instance-attributes
"""Event Subscription.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar system_data: The system metadata relating to Event Subscription resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar topic: Name of the topic of the event subscription.
:vartype topic: str
:ivar provisioning_state: Provisioning state of the event subscription. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", "Failed", and
"AwaitingManualAction".
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.EventSubscriptionProvisioningState
:ivar destination: 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.
:vartype destination: ~azure.mgmt.eventgrid.models.EventSubscriptionDestination
:ivar delivery_with_resource_identity: 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.
:vartype delivery_with_resource_identity:
~azure.mgmt.eventgrid.models.DeliveryWithResourceIdentity
:ivar filter: Information about the filter for the event subscription.
:vartype filter: ~azure.mgmt.eventgrid.models.EventSubscriptionFilter
:ivar labels: List of user defined labels.
:vartype labels: list[str]
:ivar expiration_time_utc: Expiration time of the event subscription.
:vartype expiration_time_utc: ~datetime.datetime
:ivar event_delivery_schema: The event delivery schema for the event subscription. Known values
are: "EventGridSchema", "CustomInputSchema", and "CloudEventSchemaV1_0".
:vartype event_delivery_schema: str or ~azure.mgmt.eventgrid.models.EventDeliverySchema
:ivar retry_policy: The retry policy for events. This can be used to configure maximum number
of delivery attempts and time to live for events.
:vartype retry_policy: ~azure.mgmt.eventgrid.models.RetryPolicy
:ivar dead_letter_destination: 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 Azure Event Grid's identity to acquire the authentication tokens being used during
delivery / dead-lettering.
:vartype dead_letter_destination: ~azure.mgmt.eventgrid.models.DeadLetterDestination
:ivar dead_letter_with_resource_identity: 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, topic or domain) to acquire
the authentication tokens being used during delivery / dead-lettering.
:vartype dead_letter_with_resource_identity:
~azure.mgmt.eventgrid.models.DeadLetterWithResourceIdentity
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
"topic": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"topic": {"key": "properties.topic", "type": "str"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"destination": {"key": "properties.destination", "type": "EventSubscriptionDestination"},
"delivery_with_resource_identity": {
"key": "properties.deliveryWithResourceIdentity",
"type": "DeliveryWithResourceIdentity",
},
"filter": {"key": "properties.filter", "type": "EventSubscriptionFilter"},
"labels": {"key": "properties.labels", "type": "[str]"},
"expiration_time_utc": {"key": "properties.expirationTimeUtc", "type": "iso-8601"},
"event_delivery_schema": {"key": "properties.eventDeliverySchema", "type": "str"},
"retry_policy": {"key": "properties.retryPolicy", "type": "RetryPolicy"},
"dead_letter_destination": {"key": "properties.deadLetterDestination", "type": "DeadLetterDestination"},
"dead_letter_with_resource_identity": {
"key": "properties.deadLetterWithResourceIdentity",
"type": "DeadLetterWithResourceIdentity",
},
}
def __init__(
self,
*,
destination: Optional["_models.EventSubscriptionDestination"] = None,
delivery_with_resource_identity: Optional["_models.DeliveryWithResourceIdentity"] = None,
filter: Optional["_models.EventSubscriptionFilter"] = None, # pylint: disable=redefined-builtin
labels: Optional[List[str]] = None,
expiration_time_utc: Optional[datetime.datetime] = None,
event_delivery_schema: Optional[Union[str, "_models.EventDeliverySchema"]] = None,
retry_policy: Optional["_models.RetryPolicy"] = None,
dead_letter_destination: Optional["_models.DeadLetterDestination"] = None,
dead_letter_with_resource_identity: Optional["_models.DeadLetterWithResourceIdentity"] = None,
**kwargs
):
"""
:keyword destination: 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.
:paramtype destination: ~azure.mgmt.eventgrid.models.EventSubscriptionDestination
:keyword delivery_with_resource_identity: 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.
:paramtype delivery_with_resource_identity:
~azure.mgmt.eventgrid.models.DeliveryWithResourceIdentity
:keyword filter: Information about the filter for the event subscription.
:paramtype filter: ~azure.mgmt.eventgrid.models.EventSubscriptionFilter
:keyword labels: List of user defined labels.
:paramtype labels: list[str]
:keyword expiration_time_utc: Expiration time of the event subscription.
:paramtype expiration_time_utc: ~datetime.datetime
:keyword event_delivery_schema: The event delivery schema for the event subscription. Known
values are: "EventGridSchema", "CustomInputSchema", and "CloudEventSchemaV1_0".
:paramtype event_delivery_schema: str or ~azure.mgmt.eventgrid.models.EventDeliverySchema
:keyword retry_policy: The retry policy for events. This can be used to configure maximum
number of delivery attempts and time to live for events.
:paramtype retry_policy: ~azure.mgmt.eventgrid.models.RetryPolicy
:keyword dead_letter_destination: 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 Azure Event Grid's identity to acquire the authentication tokens being used during
delivery / dead-lettering.
:paramtype dead_letter_destination: ~azure.mgmt.eventgrid.models.DeadLetterDestination
:keyword dead_letter_with_resource_identity: 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, topic or domain) to acquire
the authentication tokens being used during delivery / dead-lettering.
:paramtype dead_letter_with_resource_identity:
~azure.mgmt.eventgrid.models.DeadLetterWithResourceIdentity
"""
super().__init__(**kwargs)
self.system_data = None
self.topic = None
self.provisioning_state = None
self.destination = destination
self.delivery_with_resource_identity = delivery_with_resource_identity
self.filter = filter
self.labels = labels
self.expiration_time_utc = expiration_time_utc
self.event_delivery_schema = event_delivery_schema
self.retry_policy = retry_policy
self.dead_letter_destination = dead_letter_destination
self.dead_letter_with_resource_identity = dead_letter_with_resource_identity
[docs]class EventSubscriptionFilter(_serialization.Model):
"""Filter for the Event Subscription.
:ivar subject_begins_with: An optional string to filter events for an event subscription based
on a resource path prefix.
The format of this depends on the publisher of the events.
Wildcard characters are not supported in this path.
:vartype subject_begins_with: str
:ivar subject_ends_with: An optional string to filter events for an event subscription based on
a resource path suffix.
Wildcard characters are not supported in this path.
:vartype subject_ends_with: str
:ivar included_event_types: 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.
:vartype included_event_types: list[str]
:ivar is_subject_case_sensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith
properties of the filter
should be compared in a case sensitive manner.
:vartype is_subject_case_sensitive: bool
:ivar enable_advanced_filtering_on_arrays: Allows advanced filters to be evaluated against an
array of values instead of expecting a singular value.
:vartype enable_advanced_filtering_on_arrays: bool
:ivar advanced_filters: An array of advanced filters that are used for filtering event
subscriptions.
:vartype advanced_filters: list[~azure.mgmt.eventgrid.models.AdvancedFilter]
"""
_attribute_map = {
"subject_begins_with": {"key": "subjectBeginsWith", "type": "str"},
"subject_ends_with": {"key": "subjectEndsWith", "type": "str"},
"included_event_types": {"key": "includedEventTypes", "type": "[str]"},
"is_subject_case_sensitive": {"key": "isSubjectCaseSensitive", "type": "bool"},
"enable_advanced_filtering_on_arrays": {"key": "enableAdvancedFilteringOnArrays", "type": "bool"},
"advanced_filters": {"key": "advancedFilters", "type": "[AdvancedFilter]"},
}
def __init__(
self,
*,
subject_begins_with: Optional[str] = None,
subject_ends_with: Optional[str] = None,
included_event_types: Optional[List[str]] = None,
is_subject_case_sensitive: bool = False,
enable_advanced_filtering_on_arrays: Optional[bool] = None,
advanced_filters: Optional[List["_models.AdvancedFilter"]] = None,
**kwargs
):
"""
:keyword subject_begins_with: An optional string to filter events for an event subscription
based on a resource path prefix.
The format of this depends on the publisher of the events.
Wildcard characters are not supported in this path.
:paramtype subject_begins_with: str
:keyword subject_ends_with: An optional string to filter events for an event subscription based
on a resource path suffix.
Wildcard characters are not supported in this path.
:paramtype subject_ends_with: str
:keyword included_event_types: 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.
:paramtype included_event_types: list[str]
:keyword is_subject_case_sensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith
properties of the filter
should be compared in a case sensitive manner.
:paramtype is_subject_case_sensitive: bool
:keyword enable_advanced_filtering_on_arrays: Allows advanced filters to be evaluated against
an array of values instead of expecting a singular value.
:paramtype enable_advanced_filtering_on_arrays: bool
:keyword advanced_filters: An array of advanced filters that are used for filtering event
subscriptions.
:paramtype advanced_filters: list[~azure.mgmt.eventgrid.models.AdvancedFilter]
"""
super().__init__(**kwargs)
self.subject_begins_with = subject_begins_with
self.subject_ends_with = subject_ends_with
self.included_event_types = included_event_types
self.is_subject_case_sensitive = is_subject_case_sensitive
self.enable_advanced_filtering_on_arrays = enable_advanced_filtering_on_arrays
self.advanced_filters = advanced_filters
[docs]class EventSubscriptionFullUrl(_serialization.Model):
"""Full endpoint url of an event subscription.
:ivar endpoint_url: The URL that represents the endpoint of the destination of an event
subscription.
:vartype endpoint_url: str
"""
_attribute_map = {
"endpoint_url": {"key": "endpointUrl", "type": "str"},
}
def __init__(self, *, endpoint_url: Optional[str] = None, **kwargs):
"""
:keyword endpoint_url: The URL that represents the endpoint of the destination of an event
subscription.
:paramtype endpoint_url: str
"""
super().__init__(**kwargs)
self.endpoint_url = endpoint_url
[docs]class EventSubscriptionIdentity(_serialization.Model):
"""The identity information with the event subscription.
:ivar type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes
both an implicitly created identity and a set of user-assigned identities. The type 'None' will
remove any identity. Known values are: "SystemAssigned" and "UserAssigned".
:vartype type: str or ~azure.mgmt.eventgrid.models.EventSubscriptionIdentityType
:ivar user_assigned_identity: The user identity associated with the resource.
:vartype user_assigned_identity: str
"""
_attribute_map = {
"type": {"key": "type", "type": "str"},
"user_assigned_identity": {"key": "userAssignedIdentity", "type": "str"},
}
def __init__(
self,
*,
type: Optional[Union[str, "_models.EventSubscriptionIdentityType"]] = None,
user_assigned_identity: Optional[str] = None,
**kwargs
):
"""
:keyword type: The type of managed identity used. The type 'SystemAssigned, UserAssigned'
includes both an implicitly created identity and a set of user-assigned identities. The type
'None' will remove any identity. Known values are: "SystemAssigned" and "UserAssigned".
:paramtype type: str or ~azure.mgmt.eventgrid.models.EventSubscriptionIdentityType
:keyword user_assigned_identity: The user identity associated with the resource.
:paramtype user_assigned_identity: str
"""
super().__init__(**kwargs)
self.type = type
self.user_assigned_identity = user_assigned_identity
[docs]class EventSubscriptionsListResult(_serialization.Model):
"""Result of the List EventSubscriptions operation.
:ivar value: A collection of EventSubscriptions.
:vartype value: list[~azure.mgmt.eventgrid.models.EventSubscription]
:ivar next_link: A link for the next page of event subscriptions.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[EventSubscription]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.EventSubscription"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of EventSubscriptions.
:paramtype value: list[~azure.mgmt.eventgrid.models.EventSubscription]
:keyword next_link: A link for the next page of event subscriptions.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class EventSubscriptionUpdateParameters(_serialization.Model):
"""Properties of the Event Subscription update.
:ivar destination: 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.
:vartype destination: ~azure.mgmt.eventgrid.models.EventSubscriptionDestination
:ivar delivery_with_resource_identity: Information about the destination where events have to
be delivered for the event subscription.
Uses the managed identity setup on the parent resource (topic / domain) to acquire the
authentication tokens being used during delivery / dead-lettering.
:vartype delivery_with_resource_identity:
~azure.mgmt.eventgrid.models.DeliveryWithResourceIdentity
:ivar filter: Information about the filter for the event subscription.
:vartype filter: ~azure.mgmt.eventgrid.models.EventSubscriptionFilter
:ivar labels: List of user defined labels.
:vartype labels: list[str]
:ivar expiration_time_utc: Information about the expiration time for the event subscription.
:vartype expiration_time_utc: ~datetime.datetime
:ivar event_delivery_schema: The event delivery schema for the event subscription. Known values
are: "EventGridSchema", "CustomInputSchema", and "CloudEventSchemaV1_0".
:vartype event_delivery_schema: str or ~azure.mgmt.eventgrid.models.EventDeliverySchema
:ivar retry_policy: The retry policy for events. This can be used to configure maximum number
of delivery attempts and time to live for events.
:vartype retry_policy: ~azure.mgmt.eventgrid.models.RetryPolicy
:ivar dead_letter_destination: 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 Azure Event Grid's identity to acquire the authentication tokens being used during
delivery / dead-lettering.
:vartype dead_letter_destination: ~azure.mgmt.eventgrid.models.DeadLetterDestination
:ivar dead_letter_with_resource_identity: 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 (topic / domain) to acquire the
authentication tokens being used during delivery / dead-lettering.
:vartype dead_letter_with_resource_identity:
~azure.mgmt.eventgrid.models.DeadLetterWithResourceIdentity
"""
_attribute_map = {
"destination": {"key": "destination", "type": "EventSubscriptionDestination"},
"delivery_with_resource_identity": {
"key": "deliveryWithResourceIdentity",
"type": "DeliveryWithResourceIdentity",
},
"filter": {"key": "filter", "type": "EventSubscriptionFilter"},
"labels": {"key": "labels", "type": "[str]"},
"expiration_time_utc": {"key": "expirationTimeUtc", "type": "iso-8601"},
"event_delivery_schema": {"key": "eventDeliverySchema", "type": "str"},
"retry_policy": {"key": "retryPolicy", "type": "RetryPolicy"},
"dead_letter_destination": {"key": "deadLetterDestination", "type": "DeadLetterDestination"},
"dead_letter_with_resource_identity": {
"key": "deadLetterWithResourceIdentity",
"type": "DeadLetterWithResourceIdentity",
},
}
def __init__(
self,
*,
destination: Optional["_models.EventSubscriptionDestination"] = None,
delivery_with_resource_identity: Optional["_models.DeliveryWithResourceIdentity"] = None,
filter: Optional["_models.EventSubscriptionFilter"] = None, # pylint: disable=redefined-builtin
labels: Optional[List[str]] = None,
expiration_time_utc: Optional[datetime.datetime] = None,
event_delivery_schema: Optional[Union[str, "_models.EventDeliverySchema"]] = None,
retry_policy: Optional["_models.RetryPolicy"] = None,
dead_letter_destination: Optional["_models.DeadLetterDestination"] = None,
dead_letter_with_resource_identity: Optional["_models.DeadLetterWithResourceIdentity"] = None,
**kwargs
):
"""
:keyword destination: 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.
:paramtype destination: ~azure.mgmt.eventgrid.models.EventSubscriptionDestination
:keyword delivery_with_resource_identity: Information about the destination where events have
to be delivered for the event subscription.
Uses the managed identity setup on the parent resource (topic / domain) to acquire the
authentication tokens being used during delivery / dead-lettering.
:paramtype delivery_with_resource_identity:
~azure.mgmt.eventgrid.models.DeliveryWithResourceIdentity
:keyword filter: Information about the filter for the event subscription.
:paramtype filter: ~azure.mgmt.eventgrid.models.EventSubscriptionFilter
:keyword labels: List of user defined labels.
:paramtype labels: list[str]
:keyword expiration_time_utc: Information about the expiration time for the event subscription.
:paramtype expiration_time_utc: ~datetime.datetime
:keyword event_delivery_schema: The event delivery schema for the event subscription. Known
values are: "EventGridSchema", "CustomInputSchema", and "CloudEventSchemaV1_0".
:paramtype event_delivery_schema: str or ~azure.mgmt.eventgrid.models.EventDeliverySchema
:keyword retry_policy: The retry policy for events. This can be used to configure maximum
number of delivery attempts and time to live for events.
:paramtype retry_policy: ~azure.mgmt.eventgrid.models.RetryPolicy
:keyword dead_letter_destination: 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 Azure Event Grid's identity to acquire the authentication tokens being used during
delivery / dead-lettering.
:paramtype dead_letter_destination: ~azure.mgmt.eventgrid.models.DeadLetterDestination
:keyword dead_letter_with_resource_identity: 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 (topic / domain) to acquire the
authentication tokens being used during delivery / dead-lettering.
:paramtype dead_letter_with_resource_identity:
~azure.mgmt.eventgrid.models.DeadLetterWithResourceIdentity
"""
super().__init__(**kwargs)
self.destination = destination
self.delivery_with_resource_identity = delivery_with_resource_identity
self.filter = filter
self.labels = labels
self.expiration_time_utc = expiration_time_utc
self.event_delivery_schema = event_delivery_schema
self.retry_policy = retry_policy
self.dead_letter_destination = dead_letter_destination
self.dead_letter_with_resource_identity = dead_letter_with_resource_identity
[docs]class EventType(Resource):
"""Event Type for a subject under a topic.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar display_name: Display name of the event type.
:vartype display_name: str
:ivar description: Description of the event type.
:vartype description: str
:ivar schema_url: Url of the schema for this event type.
:vartype schema_url: str
:ivar is_in_default_set: IsInDefaultSet flag of the event type.
:vartype is_in_default_set: bool
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"display_name": {"key": "properties.displayName", "type": "str"},
"description": {"key": "properties.description", "type": "str"},
"schema_url": {"key": "properties.schemaUrl", "type": "str"},
"is_in_default_set": {"key": "properties.isInDefaultSet", "type": "bool"},
}
def __init__(
self,
*,
display_name: Optional[str] = None,
description: Optional[str] = None,
schema_url: Optional[str] = None,
is_in_default_set: Optional[bool] = None,
**kwargs
):
"""
:keyword display_name: Display name of the event type.
:paramtype display_name: str
:keyword description: Description of the event type.
:paramtype description: str
:keyword schema_url: Url of the schema for this event type.
:paramtype schema_url: str
:keyword is_in_default_set: IsInDefaultSet flag of the event type.
:paramtype is_in_default_set: bool
"""
super().__init__(**kwargs)
self.display_name = display_name
self.description = description
self.schema_url = schema_url
self.is_in_default_set = is_in_default_set
[docs]class EventTypeInfo(_serialization.Model):
"""The event type information for Channels.
:ivar kind: The kind of event type used. "Inline"
:vartype kind: str or ~azure.mgmt.eventgrid.models.EventDefinitionKind
:ivar inline_event_types: A collection of inline event types for the resource. The inline event
type keys are of type string which represents the name of the event.
An example of a valid inline event name is "Contoso.OrderCreated".
The inline event type values are of type InlineEventProperties and will contain additional
information for every inline event type.
:vartype inline_event_types: dict[str, ~azure.mgmt.eventgrid.models.InlineEventProperties]
"""
_attribute_map = {
"kind": {"key": "kind", "type": "str"},
"inline_event_types": {"key": "inlineEventTypes", "type": "{InlineEventProperties}"},
}
def __init__(
self,
*,
kind: Optional[Union[str, "_models.EventDefinitionKind"]] = None,
inline_event_types: Optional[Dict[str, "_models.InlineEventProperties"]] = None,
**kwargs
):
"""
:keyword kind: The kind of event type used. "Inline"
:paramtype kind: str or ~azure.mgmt.eventgrid.models.EventDefinitionKind
:keyword inline_event_types: A collection of inline event types for the resource. The inline
event type keys are of type string which represents the name of the event.
An example of a valid inline event name is "Contoso.OrderCreated".
The inline event type values are of type InlineEventProperties and will contain additional
information for every inline event type.
:paramtype inline_event_types: dict[str, ~azure.mgmt.eventgrid.models.InlineEventProperties]
"""
super().__init__(**kwargs)
self.kind = kind
self.inline_event_types = inline_event_types
[docs]class EventTypesListResult(_serialization.Model):
"""Result of the List Event Types operation.
:ivar value: A collection of event types.
:vartype value: list[~azure.mgmt.eventgrid.models.EventType]
"""
_attribute_map = {
"value": {"key": "value", "type": "[EventType]"},
}
def __init__(self, *, value: Optional[List["_models.EventType"]] = None, **kwargs):
"""
:keyword value: A collection of event types.
:paramtype value: list[~azure.mgmt.eventgrid.models.EventType]
"""
super().__init__(**kwargs)
self.value = value
[docs]class ExtensionTopic(Resource):
"""Event grid Extension Topic. This is used for getting Event Grid related metrics for Azure resources.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar system_data: The system metadata relating to Extension Topic resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar description: Description of the extension topic.
:vartype description: str
:ivar system_topic: System topic resource id which is mapped to the source.
:vartype system_topic: str
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"description": {"key": "properties.description", "type": "str"},
"system_topic": {"key": "properties.systemTopic", "type": "str"},
}
def __init__(self, *, description: Optional[str] = None, system_topic: Optional[str] = None, **kwargs):
"""
:keyword description: Description of the extension topic.
:paramtype description: str
:keyword system_topic: System topic resource id which is mapped to the source.
:paramtype system_topic: str
"""
super().__init__(**kwargs)
self.system_data = None
self.description = description
self.system_topic = system_topic
[docs]class HybridConnectionEventSubscriptionDestination(EventSubscriptionDestination):
"""Information about the HybridConnection destination for an event subscription.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
:ivar resource_id: The Azure Resource ID of an hybrid connection that is the destination of an
event subscription.
:vartype resource_id: str
:ivar delivery_attribute_mappings: Delivery attribute details.
:vartype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"resource_id": {"key": "properties.resourceId", "type": "str"},
"delivery_attribute_mappings": {
"key": "properties.deliveryAttributeMappings",
"type": "[DeliveryAttributeMapping]",
},
}
def __init__(
self,
*,
resource_id: Optional[str] = None,
delivery_attribute_mappings: Optional[List["_models.DeliveryAttributeMapping"]] = None,
**kwargs
):
"""
:keyword resource_id: The Azure Resource ID of an hybrid connection that is the destination of
an event subscription.
:paramtype resource_id: str
:keyword delivery_attribute_mappings: Delivery attribute details.
:paramtype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
super().__init__(**kwargs)
self.endpoint_type: str = "HybridConnection"
self.resource_id = resource_id
self.delivery_attribute_mappings = delivery_attribute_mappings
[docs]class IdentityInfo(_serialization.Model):
"""The identity information for the resource.
:ivar type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes
both an implicitly created identity and a set of user-assigned identities. The type 'None' will
remove any identity. Known values are: "None", "SystemAssigned", "UserAssigned", and
"SystemAssigned, UserAssigned".
:vartype type: str or ~azure.mgmt.eventgrid.models.IdentityType
:ivar principal_id: The principal ID of resource identity.
:vartype principal_id: str
:ivar tenant_id: The tenant ID of resource.
:vartype tenant_id: str
:ivar user_assigned_identities: The list of user identities associated with the resource. The
user identity dictionary key references will be ARM resource ids in the form:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
This property is currently not used and reserved for future usage.
:vartype user_assigned_identities: dict[str,
~azure.mgmt.eventgrid.models.UserIdentityProperties]
"""
_attribute_map = {
"type": {"key": "type", "type": "str"},
"principal_id": {"key": "principalId", "type": "str"},
"tenant_id": {"key": "tenantId", "type": "str"},
"user_assigned_identities": {"key": "userAssignedIdentities", "type": "{UserIdentityProperties}"},
}
def __init__(
self,
*,
type: Optional[Union[str, "_models.IdentityType"]] = None,
principal_id: Optional[str] = None,
tenant_id: Optional[str] = None,
user_assigned_identities: Optional[Dict[str, "_models.UserIdentityProperties"]] = None,
**kwargs
):
"""
:keyword type: The type of managed identity used. The type 'SystemAssigned, UserAssigned'
includes both an implicitly created identity and a set of user-assigned identities. The type
'None' will remove any identity. Known values are: "None", "SystemAssigned", "UserAssigned",
and "SystemAssigned, UserAssigned".
:paramtype type: str or ~azure.mgmt.eventgrid.models.IdentityType
:keyword principal_id: The principal ID of resource identity.
:paramtype principal_id: str
:keyword tenant_id: The tenant ID of resource.
:paramtype tenant_id: str
:keyword user_assigned_identities: The list of user identities associated with the resource.
The user identity dictionary key references will be ARM resource ids in the form:
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
This property is currently not used and reserved for future usage.
:paramtype user_assigned_identities: dict[str,
~azure.mgmt.eventgrid.models.UserIdentityProperties]
"""
super().__init__(**kwargs)
self.type = type
self.principal_id = principal_id
self.tenant_id = tenant_id
self.user_assigned_identities = user_assigned_identities
[docs]class InboundIpRule(_serialization.Model):
"""InboundIpRule.
:ivar ip_mask: IP Address in CIDR notation e.g., 10.0.0.0/8.
:vartype ip_mask: str
:ivar action: Action to perform based on the match or no match of the IpMask. "Allow"
:vartype action: str or ~azure.mgmt.eventgrid.models.IpActionType
"""
_attribute_map = {
"ip_mask": {"key": "ipMask", "type": "str"},
"action": {"key": "action", "type": "str"},
}
def __init__(
self, *, ip_mask: Optional[str] = None, action: Optional[Union[str, "_models.IpActionType"]] = None, **kwargs
):
"""
:keyword ip_mask: IP Address in CIDR notation e.g., 10.0.0.0/8.
:paramtype ip_mask: str
:keyword action: Action to perform based on the match or no match of the IpMask. "Allow"
:paramtype action: str or ~azure.mgmt.eventgrid.models.IpActionType
"""
super().__init__(**kwargs)
self.ip_mask = ip_mask
self.action = action
[docs]class InlineEventProperties(_serialization.Model):
"""Additional information about every inline event.
:ivar description: The description for the inline event.
:vartype description: str
:ivar display_name: The displayName for the inline event.
:vartype display_name: str
:ivar documentation_url: The documentationUrl for the inline event.
:vartype documentation_url: str
:ivar data_schema_url: The dataSchemaUrl for the inline event.
:vartype data_schema_url: str
"""
_attribute_map = {
"description": {"key": "description", "type": "str"},
"display_name": {"key": "displayName", "type": "str"},
"documentation_url": {"key": "documentationUrl", "type": "str"},
"data_schema_url": {"key": "dataSchemaUrl", "type": "str"},
}
def __init__(
self,
*,
description: Optional[str] = None,
display_name: Optional[str] = None,
documentation_url: Optional[str] = None,
data_schema_url: Optional[str] = None,
**kwargs
):
"""
:keyword description: The description for the inline event.
:paramtype description: str
:keyword display_name: The displayName for the inline event.
:paramtype display_name: str
:keyword documentation_url: The documentationUrl for the inline event.
:paramtype documentation_url: str
:keyword data_schema_url: The dataSchemaUrl for the inline event.
:paramtype data_schema_url: str
"""
super().__init__(**kwargs)
self.description = description
self.display_name = display_name
self.documentation_url = documentation_url
self.data_schema_url = data_schema_url
[docs]class IsNotNullAdvancedFilter(AdvancedFilter):
"""IsNotNull Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
}
def __init__(self, *, key: Optional[str] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "IsNotNull"
[docs]class IsNullOrUndefinedAdvancedFilter(AdvancedFilter):
"""IsNullOrUndefined Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
}
def __init__(self, *, key: Optional[str] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "IsNullOrUndefined"
[docs]class JsonField(_serialization.Model):
"""This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the input event schema.
:ivar source_field: Name of a field in the input event schema that's to be used as the source
of a mapping.
:vartype source_field: str
"""
_attribute_map = {
"source_field": {"key": "sourceField", "type": "str"},
}
def __init__(self, *, source_field: Optional[str] = None, **kwargs):
"""
:keyword source_field: Name of a field in the input event schema that's to be used as the
source of a mapping.
:paramtype source_field: str
"""
super().__init__(**kwargs)
self.source_field = source_field
[docs]class JsonFieldWithDefault(_serialization.Model):
"""This is used to express the source of an input schema mapping for a single target field
in the Event Grid Event schema. This is currently used in the mappings for the 'subject',
'eventtype' and 'dataversion' properties. This represents a field in the input event schema
along with a default value to be used, and at least one of these two properties should be provided.
:ivar source_field: Name of a field in the input event schema that's to be used as the source
of a mapping.
:vartype source_field: str
:ivar default_value: The default value to be used for mapping when a SourceField is not
provided or if there's no property with the specified name in the published JSON event payload.
:vartype default_value: str
"""
_attribute_map = {
"source_field": {"key": "sourceField", "type": "str"},
"default_value": {"key": "defaultValue", "type": "str"},
}
def __init__(self, *, source_field: Optional[str] = None, default_value: Optional[str] = None, **kwargs):
"""
:keyword source_field: Name of a field in the input event schema that's to be used as the
source of a mapping.
:paramtype source_field: str
:keyword default_value: The default value to be used for mapping when a SourceField is not
provided or if there's no property with the specified name in the published JSON event payload.
:paramtype default_value: str
"""
super().__init__(**kwargs)
self.source_field = source_field
self.default_value = default_value
[docs]class NumberGreaterThanAdvancedFilter(AdvancedFilter):
"""NumberGreaterThan Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar value: The filter value.
:vartype value: float
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"value": {"key": "value", "type": "float"},
}
def __init__(self, *, key: Optional[str] = None, value: Optional[float] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword value: The filter value.
:paramtype value: float
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberGreaterThan"
self.value = value
[docs]class NumberGreaterThanOrEqualsAdvancedFilter(AdvancedFilter):
"""NumberGreaterThanOrEquals Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar value: The filter value.
:vartype value: float
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"value": {"key": "value", "type": "float"},
}
def __init__(self, *, key: Optional[str] = None, value: Optional[float] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword value: The filter value.
:paramtype value: float
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberGreaterThanOrEquals"
self.value = value
[docs]class NumberInAdvancedFilter(AdvancedFilter):
"""NumberIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[float]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[float]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[float]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[float]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberIn"
self.values = values
[docs]class NumberInRangeAdvancedFilter(AdvancedFilter):
"""NumberInRange Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[list[float]]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[[float]]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[List[float]]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[list[float]]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberInRange"
self.values = values
[docs]class NumberLessThanAdvancedFilter(AdvancedFilter):
"""NumberLessThan Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar value: The filter value.
:vartype value: float
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"value": {"key": "value", "type": "float"},
}
def __init__(self, *, key: Optional[str] = None, value: Optional[float] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword value: The filter value.
:paramtype value: float
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberLessThan"
self.value = value
[docs]class NumberLessThanOrEqualsAdvancedFilter(AdvancedFilter):
"""NumberLessThanOrEquals Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar value: The filter value.
:vartype value: float
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"value": {"key": "value", "type": "float"},
}
def __init__(self, *, key: Optional[str] = None, value: Optional[float] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword value: The filter value.
:paramtype value: float
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberLessThanOrEquals"
self.value = value
[docs]class NumberNotInAdvancedFilter(AdvancedFilter):
"""NumberNotIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[float]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[float]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[float]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[float]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberNotIn"
self.values = values
[docs]class NumberNotInRangeAdvancedFilter(AdvancedFilter):
"""NumberNotInRange Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[list[float]]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[[float]]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[List[float]]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[list[float]]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "NumberNotInRange"
self.values = values
[docs]class Operation(_serialization.Model):
"""Represents an operation returned by the GetOperations request.
:ivar name: Name of the operation.
:vartype name: str
:ivar display: Display name of the operation.
:vartype display: ~azure.mgmt.eventgrid.models.OperationInfo
:ivar origin: Origin of the operation.
:vartype origin: str
:ivar is_data_action: This Boolean is used to determine if the operation is a data plane action
or not.
:vartype is_data_action: bool
:ivar properties: Properties of the operation.
:vartype properties: JSON
"""
_attribute_map = {
"name": {"key": "name", "type": "str"},
"display": {"key": "display", "type": "OperationInfo"},
"origin": {"key": "origin", "type": "str"},
"is_data_action": {"key": "isDataAction", "type": "bool"},
"properties": {"key": "properties", "type": "object"},
}
def __init__(
self,
*,
name: Optional[str] = None,
display: Optional["_models.OperationInfo"] = None,
origin: Optional[str] = None,
is_data_action: Optional[bool] = None,
properties: Optional[JSON] = None,
**kwargs
):
"""
:keyword name: Name of the operation.
:paramtype name: str
:keyword display: Display name of the operation.
:paramtype display: ~azure.mgmt.eventgrid.models.OperationInfo
:keyword origin: Origin of the operation.
:paramtype origin: str
:keyword is_data_action: This Boolean is used to determine if the operation is a data plane
action or not.
:paramtype is_data_action: bool
:keyword properties: Properties of the operation.
:paramtype properties: JSON
"""
super().__init__(**kwargs)
self.name = name
self.display = display
self.origin = origin
self.is_data_action = is_data_action
self.properties = properties
[docs]class OperationInfo(_serialization.Model):
"""Information about an operation.
:ivar provider: Name of the provider.
:vartype provider: str
:ivar resource: Name of the resource type.
:vartype resource: str
:ivar operation: Name of the operation.
:vartype operation: str
:ivar description: Description of the operation.
:vartype description: str
"""
_attribute_map = {
"provider": {"key": "provider", "type": "str"},
"resource": {"key": "resource", "type": "str"},
"operation": {"key": "operation", "type": "str"},
"description": {"key": "description", "type": "str"},
}
def __init__(
self,
*,
provider: Optional[str] = None,
resource: Optional[str] = None,
operation: Optional[str] = None,
description: Optional[str] = None,
**kwargs
):
"""
:keyword provider: Name of the provider.
:paramtype provider: str
:keyword resource: Name of the resource type.
:paramtype resource: str
:keyword operation: Name of the operation.
:paramtype operation: str
:keyword description: Description of the operation.
:paramtype description: str
"""
super().__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class OperationsListResult(_serialization.Model):
"""Result of the List Operations operation.
:ivar value: A collection of operations.
:vartype value: list[~azure.mgmt.eventgrid.models.Operation]
"""
_attribute_map = {
"value": {"key": "value", "type": "[Operation]"},
}
def __init__(self, *, value: Optional[List["_models.Operation"]] = None, **kwargs):
"""
:keyword value: A collection of operations.
:paramtype value: list[~azure.mgmt.eventgrid.models.Operation]
"""
super().__init__(**kwargs)
self.value = value
[docs]class Partner(_serialization.Model):
"""Information about the partner.
:ivar partner_registration_immutable_id: The immutableId of the corresponding partner
registration.
:vartype partner_registration_immutable_id: str
:ivar partner_name: The partner name.
:vartype partner_name: str
:ivar authorization_expiration_time_in_utc: Expiration time of the partner authorization. If
this timer expires, any request from this partner to create, update or delete resources in
subscriber's
context will fail. If specified, the allowed values are between 1 to the value of
defaultMaximumExpirationTimeInDays specified in PartnerConfiguration.
If not specified, the default value will be the value of defaultMaximumExpirationTimeInDays
specified in PartnerConfiguration or 7 if this value is not specified.
:vartype authorization_expiration_time_in_utc: ~datetime.datetime
"""
_attribute_map = {
"partner_registration_immutable_id": {"key": "partnerRegistrationImmutableId", "type": "str"},
"partner_name": {"key": "partnerName", "type": "str"},
"authorization_expiration_time_in_utc": {"key": "authorizationExpirationTimeInUtc", "type": "iso-8601"},
}
def __init__(
self,
*,
partner_registration_immutable_id: Optional[str] = None,
partner_name: Optional[str] = None,
authorization_expiration_time_in_utc: Optional[datetime.datetime] = None,
**kwargs
):
"""
:keyword partner_registration_immutable_id: The immutableId of the corresponding partner
registration.
:paramtype partner_registration_immutable_id: str
:keyword partner_name: The partner name.
:paramtype partner_name: str
:keyword authorization_expiration_time_in_utc: Expiration time of the partner authorization. If
this timer expires, any request from this partner to create, update or delete resources in
subscriber's
context will fail. If specified, the allowed values are between 1 to the value of
defaultMaximumExpirationTimeInDays specified in PartnerConfiguration.
If not specified, the default value will be the value of defaultMaximumExpirationTimeInDays
specified in PartnerConfiguration or 7 if this value is not specified.
:paramtype authorization_expiration_time_in_utc: ~datetime.datetime
"""
super().__init__(**kwargs)
self.partner_registration_immutable_id = partner_registration_immutable_id
self.partner_name = partner_name
self.authorization_expiration_time_in_utc = authorization_expiration_time_in_utc
[docs]class PartnerAuthorization(_serialization.Model):
"""The partner authorization details.
:ivar default_maximum_expiration_time_in_days: Time used to validate the authorization
expiration time for each authorized partner. If DefaultMaximumExpirationTimeInDays is
not specified, the default is 7 days. Otherwise, allowed values are between 1 and 365 days.
:vartype default_maximum_expiration_time_in_days: int
:ivar authorized_partners_list: The list of authorized partners.
:vartype authorized_partners_list: list[~azure.mgmt.eventgrid.models.Partner]
"""
_attribute_map = {
"default_maximum_expiration_time_in_days": {"key": "defaultMaximumExpirationTimeInDays", "type": "int"},
"authorized_partners_list": {"key": "authorizedPartnersList", "type": "[Partner]"},
}
def __init__(
self,
*,
default_maximum_expiration_time_in_days: Optional[int] = None,
authorized_partners_list: Optional[List["_models.Partner"]] = None,
**kwargs
):
"""
:keyword default_maximum_expiration_time_in_days: Time used to validate the authorization
expiration time for each authorized partner. If DefaultMaximumExpirationTimeInDays is
not specified, the default is 7 days. Otherwise, allowed values are between 1 and 365 days.
:paramtype default_maximum_expiration_time_in_days: int
:keyword authorized_partners_list: The list of authorized partners.
:paramtype authorized_partners_list: list[~azure.mgmt.eventgrid.models.Partner]
"""
super().__init__(**kwargs)
self.default_maximum_expiration_time_in_days = default_maximum_expiration_time_in_days
self.authorized_partners_list = authorized_partners_list
[docs]class PartnerConfiguration(Resource):
"""Partner configuration information.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar system_data: The system metadata relating to partner configuration resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar location: Location of the resource.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
:ivar partner_authorization: The details of authorized partners.
:vartype partner_authorization: ~azure.mgmt.eventgrid.models.PartnerAuthorization
:ivar provisioning_state: Provisioning state of the partner configuration. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.PartnerConfigurationProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"partner_authorization": {"key": "properties.partnerAuthorization", "type": "PartnerAuthorization"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(
self,
*,
location: Optional[str] = None,
tags: Optional[Dict[str, str]] = None,
partner_authorization: Optional["_models.PartnerAuthorization"] = None,
provisioning_state: Optional[Union[str, "_models.PartnerConfigurationProvisioningState"]] = None,
**kwargs
):
"""
:keyword location: Location of the resource.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
:keyword partner_authorization: The details of authorized partners.
:paramtype partner_authorization: ~azure.mgmt.eventgrid.models.PartnerAuthorization
:keyword provisioning_state: Provisioning state of the partner configuration. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:paramtype provisioning_state: str or
~azure.mgmt.eventgrid.models.PartnerConfigurationProvisioningState
"""
super().__init__(**kwargs)
self.system_data = None
self.location = location
self.tags = tags
self.partner_authorization = partner_authorization
self.provisioning_state = provisioning_state
[docs]class PartnerConfigurationsListResult(_serialization.Model):
"""Result of the List partner configurations operation.
:ivar value: A collection of partner configurations.
:vartype value: list[~azure.mgmt.eventgrid.models.PartnerConfiguration]
:ivar next_link: A link for the next page of partner configurations.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[PartnerConfiguration]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.PartnerConfiguration"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of partner configurations.
:paramtype value: list[~azure.mgmt.eventgrid.models.PartnerConfiguration]
:keyword next_link: A link for the next page of partner configurations.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class PartnerConfigurationUpdateParameters(_serialization.Model):
"""Properties of the partner configuration update.
:ivar tags: Tags of the partner configuration resource.
:vartype tags: dict[str, str]
:ivar default_maximum_expiration_time_in_days: The default time used to validate the maximum
expiration time for each authorized partners in days. Allowed values ar between 1 and 365 days.
:vartype default_maximum_expiration_time_in_days: int
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
"default_maximum_expiration_time_in_days": {
"key": "properties.defaultMaximumExpirationTimeInDays",
"type": "int",
},
}
def __init__(
self,
*,
tags: Optional[Dict[str, str]] = None,
default_maximum_expiration_time_in_days: Optional[int] = None,
**kwargs
):
"""
:keyword tags: Tags of the partner configuration resource.
:paramtype tags: dict[str, str]
:keyword default_maximum_expiration_time_in_days: The default time used to validate the maximum
expiration time for each authorized partners in days. Allowed values ar between 1 and 365 days.
:paramtype default_maximum_expiration_time_in_days: int
"""
super().__init__(**kwargs)
self.tags = tags
self.default_maximum_expiration_time_in_days = default_maximum_expiration_time_in_days
[docs]class PartnerDetails(_serialization.Model):
"""Information about the partner.
:ivar description: This is short description about the partner. The length of this description
should not exceed 256 characters.
:vartype description: str
:ivar long_description: Long description for the partner's scenarios and integration.Length of
this description should not exceed 2048 characters.
:vartype long_description: str
:ivar setup_uri: URI of the partner website that can be used by Azure customers to setup Event
Grid
integration on an event source.
:vartype setup_uri: str
"""
_attribute_map = {
"description": {"key": "description", "type": "str"},
"long_description": {"key": "longDescription", "type": "str"},
"setup_uri": {"key": "setupUri", "type": "str"},
}
def __init__(
self,
*,
description: Optional[str] = None,
long_description: Optional[str] = None,
setup_uri: Optional[str] = None,
**kwargs
):
"""
:keyword description: This is short description about the partner. The length of this
description should not exceed 256 characters.
:paramtype description: str
:keyword long_description: Long description for the partner's scenarios and integration.Length
of this description should not exceed 2048 characters.
:paramtype long_description: str
:keyword setup_uri: URI of the partner website that can be used by Azure customers to setup
Event Grid
integration on an event source.
:paramtype setup_uri: str
"""
super().__init__(**kwargs)
self.description = description
self.long_description = long_description
self.setup_uri = setup_uri
[docs]class PartnerNamespace(TrackedResource): # pylint: disable=too-many-instance-attributes
"""EventGrid Partner Namespace.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar location: Location of the resource. Required.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
:ivar system_data: The system metadata relating to Partner Namespace resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar private_endpoint_connections:
:vartype private_endpoint_connections:
list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection]
:ivar provisioning_state: Provisioning state of the partner namespace. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.PartnerNamespaceProvisioningState
:ivar partner_registration_fully_qualified_id: The fully qualified ARM Id of the partner
registration that should be associated with this partner namespace. This takes the following
format:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations/{partnerRegistrationName}.
:vartype partner_registration_fully_qualified_id: str
:ivar endpoint: Endpoint for the partner namespace.
:vartype endpoint: str
:ivar public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.PartnerNamespaceProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:vartype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:ivar inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of all
IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:vartype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:ivar disable_local_auth: This boolean is used to enable or disable local auth. Default value
is false. When the property is set to true, only AAD token will be used to authenticate if user
is allowed to publish to the partner namespace.
:vartype disable_local_auth: bool
:ivar partner_topic_routing_mode: This determines if events published to this partner namespace
should use the source attribute in the event payload
or use the channel name in the header when matching to the partner topic. If none is
specified, source attribute routing will be used to match the partner topic. Known values are:
"SourceEventAttribute" and "ChannelNameHeader".
:vartype partner_topic_routing_mode: str or
~azure.mgmt.eventgrid.models.PartnerTopicRoutingMode
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"location": {"required": True},
"system_data": {"readonly": True},
"private_endpoint_connections": {"readonly": True},
"provisioning_state": {"readonly": True},
"endpoint": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"system_data": {"key": "systemData", "type": "SystemData"},
"private_endpoint_connections": {
"key": "properties.privateEndpointConnections",
"type": "[PrivateEndpointConnection]",
},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"partner_registration_fully_qualified_id": {
"key": "properties.partnerRegistrationFullyQualifiedId",
"type": "str",
},
"endpoint": {"key": "properties.endpoint", "type": "str"},
"public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"},
"inbound_ip_rules": {"key": "properties.inboundIpRules", "type": "[InboundIpRule]"},
"disable_local_auth": {"key": "properties.disableLocalAuth", "type": "bool"},
"partner_topic_routing_mode": {"key": "properties.partnerTopicRoutingMode", "type": "str"},
}
def __init__(
self,
*,
location: str,
tags: Optional[Dict[str, str]] = None,
partner_registration_fully_qualified_id: Optional[str] = None,
public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
inbound_ip_rules: Optional[List["_models.InboundIpRule"]] = None,
disable_local_auth: bool = False,
partner_topic_routing_mode: Union[str, "_models.PartnerTopicRoutingMode"] = "SourceEventAttribute",
**kwargs
):
"""
:keyword location: Location of the resource. Required.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
:keyword partner_registration_fully_qualified_id: The fully qualified ARM Id of the partner
registration that should be associated with this partner namespace. This takes the following
format:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations/{partnerRegistrationName}.
:paramtype partner_registration_fully_qualified_id: str
:keyword public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.PartnerNamespaceProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:paramtype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:keyword inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of
all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:paramtype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:keyword disable_local_auth: This boolean is used to enable or disable local auth. Default
value is false. When the property is set to true, only AAD token will be used to authenticate
if user is allowed to publish to the partner namespace.
:paramtype disable_local_auth: bool
:keyword partner_topic_routing_mode: This determines if events published to this partner
namespace should use the source attribute in the event payload
or use the channel name in the header when matching to the partner topic. If none is
specified, source attribute routing will be used to match the partner topic. Known values are:
"SourceEventAttribute" and "ChannelNameHeader".
:paramtype partner_topic_routing_mode: str or
~azure.mgmt.eventgrid.models.PartnerTopicRoutingMode
"""
super().__init__(location=location, tags=tags, **kwargs)
self.system_data = None
self.private_endpoint_connections = None
self.provisioning_state = None
self.partner_registration_fully_qualified_id = partner_registration_fully_qualified_id
self.endpoint = None
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.disable_local_auth = disable_local_auth
self.partner_topic_routing_mode = partner_topic_routing_mode
[docs]class PartnerNamespaceRegenerateKeyRequest(_serialization.Model):
"""PartnerNamespace regenerate shared access key request.
All required parameters must be populated in order to send to Azure.
:ivar key_name: Key name to regenerate (key1 or key2). Required.
:vartype key_name: str
"""
_validation = {
"key_name": {"required": True},
}
_attribute_map = {
"key_name": {"key": "keyName", "type": "str"},
}
def __init__(self, *, key_name: str, **kwargs):
"""
:keyword key_name: Key name to regenerate (key1 or key2). Required.
:paramtype key_name: str
"""
super().__init__(**kwargs)
self.key_name = key_name
[docs]class PartnerNamespaceSharedAccessKeys(_serialization.Model):
"""Shared access keys of the partner namespace.
:ivar key1: Shared access key1 for the partner namespace.
:vartype key1: str
:ivar key2: Shared access key2 for the partner namespace.
:vartype key2: str
"""
_attribute_map = {
"key1": {"key": "key1", "type": "str"},
"key2": {"key": "key2", "type": "str"},
}
def __init__(self, *, key1: Optional[str] = None, key2: Optional[str] = None, **kwargs):
"""
:keyword key1: Shared access key1 for the partner namespace.
:paramtype key1: str
:keyword key2: Shared access key2 for the partner namespace.
:paramtype key2: str
"""
super().__init__(**kwargs)
self.key1 = key1
self.key2 = key2
[docs]class PartnerNamespacesListResult(_serialization.Model):
"""Result of the List Partner Namespaces operation.
:ivar value: A collection of partner namespaces.
:vartype value: list[~azure.mgmt.eventgrid.models.PartnerNamespace]
:ivar next_link: A link for the next page of partner namespaces.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[PartnerNamespace]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.PartnerNamespace"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of partner namespaces.
:paramtype value: list[~azure.mgmt.eventgrid.models.PartnerNamespace]
:keyword next_link: A link for the next page of partner namespaces.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class PartnerNamespaceUpdateParameters(_serialization.Model):
"""Properties of the Partner Namespace update.
:ivar tags: Tags of the Partner Namespace.
:vartype tags: dict[str, str]
:ivar public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.PartnerNamespaceUpdateParameterProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:vartype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:ivar inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of all
IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:vartype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:ivar disable_local_auth: This boolean is used to enable or disable local auth. Default value
is false. When the property is set to true, only AAD token will be used to authenticate if user
is allowed to publish to the partner namespace.
:vartype disable_local_auth: bool
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
"public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"},
"inbound_ip_rules": {"key": "properties.inboundIpRules", "type": "[InboundIpRule]"},
"disable_local_auth": {"key": "properties.disableLocalAuth", "type": "bool"},
}
def __init__(
self,
*,
tags: Optional[Dict[str, str]] = None,
public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
inbound_ip_rules: Optional[List["_models.InboundIpRule"]] = None,
disable_local_auth: Optional[bool] = None,
**kwargs
):
"""
:keyword tags: Tags of the Partner Namespace.
:paramtype tags: dict[str, str]
:keyword public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.PartnerNamespaceUpdateParameterProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:paramtype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:keyword inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of
all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:paramtype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:keyword disable_local_auth: This boolean is used to enable or disable local auth. Default
value is false. When the property is set to true, only AAD token will be used to authenticate
if user is allowed to publish to the partner namespace.
:paramtype disable_local_auth: bool
"""
super().__init__(**kwargs)
self.tags = tags
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.disable_local_auth = disable_local_auth
[docs]class PartnerRegistration(TrackedResource):
"""Information about a partner registration.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar location: Location of the resource. Required.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
:ivar system_data: The system metadata relating to Partner Registration resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar provisioning_state: Provisioning state of the partner registration. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.PartnerRegistrationProvisioningState
:ivar partner_registration_immutable_id: The immutableId of the corresponding partner
registration.
Note: This property is marked for deprecation and is not supported in any future GA API
version.
:vartype partner_registration_immutable_id: str
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"location": {"required": True},
"system_data": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"system_data": {"key": "systemData", "type": "SystemData"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"partner_registration_immutable_id": {"key": "properties.partnerRegistrationImmutableId", "type": "str"},
}
def __init__(
self,
*,
location: str,
tags: Optional[Dict[str, str]] = None,
partner_registration_immutable_id: Optional[str] = None,
**kwargs
):
"""
:keyword location: Location of the resource. Required.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
:keyword partner_registration_immutable_id: The immutableId of the corresponding partner
registration.
Note: This property is marked for deprecation and is not supported in any future GA API
version.
:paramtype partner_registration_immutable_id: str
"""
super().__init__(location=location, tags=tags, **kwargs)
self.system_data = None
self.provisioning_state = None
self.partner_registration_immutable_id = partner_registration_immutable_id
[docs]class PartnerRegistrationsListResult(_serialization.Model):
"""Result of the List Partner Registrations operation.
:ivar value: A collection of partner registrations.
:vartype value: list[~azure.mgmt.eventgrid.models.PartnerRegistration]
:ivar next_link: A link for the next page of partner registrations.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[PartnerRegistration]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.PartnerRegistration"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of partner registrations.
:paramtype value: list[~azure.mgmt.eventgrid.models.PartnerRegistration]
:keyword next_link: A link for the next page of partner registrations.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class PartnerRegistrationUpdateParameters(_serialization.Model):
"""Properties of the Partner Registration update.
:ivar tags: Tags of the partner registration resource.
:vartype tags: dict[str, str]
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
}
def __init__(self, *, tags: Optional[Dict[str, str]] = None, **kwargs):
"""
:keyword tags: Tags of the partner registration resource.
:paramtype tags: dict[str, str]
"""
super().__init__(**kwargs)
self.tags = tags
[docs]class PartnerTopic(TrackedResource): # pylint: disable=too-many-instance-attributes
"""Event Grid Partner Topic.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar location: Location of the resource. Required.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
:ivar system_data: The system metadata relating to Partner Topic resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar identity: Identity information for the Partner Topic resource.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:ivar partner_registration_immutable_id: The immutableId of the corresponding partner
registration.
:vartype partner_registration_immutable_id: str
:ivar source: Source associated with this partner topic. This represents a unique partner
resource.
:vartype source: str
:ivar event_type_info: Event Type information from the corresponding event channel.
:vartype event_type_info: ~azure.mgmt.eventgrid.models.EventTypeInfo
:ivar expiration_time_if_not_activated_utc: Expiration time of the partner topic. If this timer
expires while the partner topic is still never activated,
the partner topic and corresponding event channel are deleted.
:vartype expiration_time_if_not_activated_utc: ~datetime.datetime
:ivar provisioning_state: Provisioning state of the partner topic. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", "Failed", and
"IdleDueToMirroredChannelResourceDeletion".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.PartnerTopicProvisioningState
:ivar activation_state: Activation state of the partner topic. Known values are:
"NeverActivated", "Activated", and "Deactivated".
:vartype activation_state: str or ~azure.mgmt.eventgrid.models.PartnerTopicActivationState
:ivar partner_topic_friendly_description: Friendly description about the topic. This can be set
by the publisher/partner to show custom description for the customer partner topic.
This will be helpful to remove any ambiguity of the origin of creation of the partner topic
for the customer.
:vartype partner_topic_friendly_description: str
:ivar message_for_activation: Context or helpful message that can be used during the approval
process by the subscriber.
:vartype message_for_activation: str
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"location": {"required": True},
"system_data": {"readonly": True},
"provisioning_state": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"system_data": {"key": "systemData", "type": "SystemData"},
"identity": {"key": "identity", "type": "IdentityInfo"},
"partner_registration_immutable_id": {"key": "properties.partnerRegistrationImmutableId", "type": "str"},
"source": {"key": "properties.source", "type": "str"},
"event_type_info": {"key": "properties.eventTypeInfo", "type": "EventTypeInfo"},
"expiration_time_if_not_activated_utc": {
"key": "properties.expirationTimeIfNotActivatedUtc",
"type": "iso-8601",
},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"activation_state": {"key": "properties.activationState", "type": "str"},
"partner_topic_friendly_description": {"key": "properties.partnerTopicFriendlyDescription", "type": "str"},
"message_for_activation": {"key": "properties.messageForActivation", "type": "str"},
}
def __init__(
self,
*,
location: str,
tags: Optional[Dict[str, str]] = None,
identity: Optional["_models.IdentityInfo"] = None,
partner_registration_immutable_id: Optional[str] = None,
source: Optional[str] = None,
event_type_info: Optional["_models.EventTypeInfo"] = None,
expiration_time_if_not_activated_utc: Optional[datetime.datetime] = None,
activation_state: Optional[Union[str, "_models.PartnerTopicActivationState"]] = None,
partner_topic_friendly_description: Optional[str] = None,
message_for_activation: Optional[str] = None,
**kwargs
):
"""
:keyword location: Location of the resource. Required.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
:keyword identity: Identity information for the Partner Topic resource.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:keyword partner_registration_immutable_id: The immutableId of the corresponding partner
registration.
:paramtype partner_registration_immutable_id: str
:keyword source: Source associated with this partner topic. This represents a unique partner
resource.
:paramtype source: str
:keyword event_type_info: Event Type information from the corresponding event channel.
:paramtype event_type_info: ~azure.mgmt.eventgrid.models.EventTypeInfo
:keyword expiration_time_if_not_activated_utc: Expiration time of the partner topic. If this
timer expires while the partner topic is still never activated,
the partner topic and corresponding event channel are deleted.
:paramtype expiration_time_if_not_activated_utc: ~datetime.datetime
:keyword activation_state: Activation state of the partner topic. Known values are:
"NeverActivated", "Activated", and "Deactivated".
:paramtype activation_state: str or ~azure.mgmt.eventgrid.models.PartnerTopicActivationState
:keyword partner_topic_friendly_description: Friendly description about the topic. This can be
set by the publisher/partner to show custom description for the customer partner topic.
This will be helpful to remove any ambiguity of the origin of creation of the partner topic
for the customer.
:paramtype partner_topic_friendly_description: str
:keyword message_for_activation: Context or helpful message that can be used during the
approval process by the subscriber.
:paramtype message_for_activation: str
"""
super().__init__(location=location, tags=tags, **kwargs)
self.system_data = None
self.identity = identity
self.partner_registration_immutable_id = partner_registration_immutable_id
self.source = source
self.event_type_info = event_type_info
self.expiration_time_if_not_activated_utc = expiration_time_if_not_activated_utc
self.provisioning_state = None
self.activation_state = activation_state
self.partner_topic_friendly_description = partner_topic_friendly_description
self.message_for_activation = message_for_activation
[docs]class PartnerTopicInfo(_serialization.Model):
"""Properties of the corresponding partner topic of a Channel.
:ivar azure_subscription_id: Azure subscription ID of the subscriber. The partner topic
associated with the channel will be
created under this Azure subscription.
:vartype azure_subscription_id: str
:ivar resource_group_name: Azure Resource Group of the subscriber. The partner topic associated
with the channel will be
created under this resource group.
:vartype resource_group_name: str
:ivar name: Name of the partner topic associated with the channel.
:vartype name: str
:ivar event_type_info: Event Type Information for the partner topic. This information is
provided by the publisher and can be used by the
subscriber to view different types of events that are published.
:vartype event_type_info: ~azure.mgmt.eventgrid.models.EventTypeInfo
:ivar source: The source information is provided by the publisher to determine the scope or
context from which the events
are originating. This information can be used by the subscriber during the approval process of
the
created partner topic.
:vartype source: str
"""
_attribute_map = {
"azure_subscription_id": {"key": "azureSubscriptionId", "type": "str"},
"resource_group_name": {"key": "resourceGroupName", "type": "str"},
"name": {"key": "name", "type": "str"},
"event_type_info": {"key": "eventTypeInfo", "type": "EventTypeInfo"},
"source": {"key": "source", "type": "str"},
}
def __init__(
self,
*,
azure_subscription_id: Optional[str] = None,
resource_group_name: Optional[str] = None,
name: Optional[str] = None,
event_type_info: Optional["_models.EventTypeInfo"] = None,
source: Optional[str] = None,
**kwargs
):
"""
:keyword azure_subscription_id: Azure subscription ID of the subscriber. The partner topic
associated with the channel will be
created under this Azure subscription.
:paramtype azure_subscription_id: str
:keyword resource_group_name: Azure Resource Group of the subscriber. The partner topic
associated with the channel will be
created under this resource group.
:paramtype resource_group_name: str
:keyword name: Name of the partner topic associated with the channel.
:paramtype name: str
:keyword event_type_info: Event Type Information for the partner topic. This information is
provided by the publisher and can be used by the
subscriber to view different types of events that are published.
:paramtype event_type_info: ~azure.mgmt.eventgrid.models.EventTypeInfo
:keyword source: The source information is provided by the publisher to determine the scope or
context from which the events
are originating. This information can be used by the subscriber during the approval process of
the
created partner topic.
:paramtype source: str
"""
super().__init__(**kwargs)
self.azure_subscription_id = azure_subscription_id
self.resource_group_name = resource_group_name
self.name = name
self.event_type_info = event_type_info
self.source = source
[docs]class PartnerTopicsListResult(_serialization.Model):
"""Result of the List Partner Topics operation.
:ivar value: A collection of partner topics.
:vartype value: list[~azure.mgmt.eventgrid.models.PartnerTopic]
:ivar next_link: A link for the next page of partner topics.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[PartnerTopic]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.PartnerTopic"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of partner topics.
:paramtype value: list[~azure.mgmt.eventgrid.models.PartnerTopic]
:keyword next_link: A link for the next page of partner topics.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class PartnerTopicUpdateParameters(_serialization.Model):
"""Properties of the Partner Topic update.
:ivar tags: Tags of the Partner Topic resource.
:vartype tags: dict[str, str]
:ivar identity: Identity information for the Partner Topic resource.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
"identity": {"key": "identity", "type": "IdentityInfo"},
}
def __init__(
self, *, tags: Optional[Dict[str, str]] = None, identity: Optional["_models.IdentityInfo"] = None, **kwargs
):
"""
:keyword tags: Tags of the Partner Topic resource.
:paramtype tags: dict[str, str]
:keyword identity: Identity information for the Partner Topic resource.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
"""
super().__init__(**kwargs)
self.tags = tags
self.identity = identity
[docs]class PartnerUpdateTopicInfo(_serialization.Model):
"""Update properties for the corresponding partner topic of a channel.
:ivar event_type_info: Event type info for the partner topic.
:vartype event_type_info: ~azure.mgmt.eventgrid.models.EventTypeInfo
"""
_attribute_map = {
"event_type_info": {"key": "eventTypeInfo", "type": "EventTypeInfo"},
}
def __init__(self, *, event_type_info: Optional["_models.EventTypeInfo"] = None, **kwargs):
"""
:keyword event_type_info: Event type info for the partner topic.
:paramtype event_type_info: ~azure.mgmt.eventgrid.models.EventTypeInfo
"""
super().__init__(**kwargs)
self.event_type_info = event_type_info
[docs]class PrivateEndpoint(_serialization.Model):
"""PrivateEndpoint information.
:ivar id: The ARM identifier for Private Endpoint.
:vartype id: str
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
}
def __init__(self, *, id: Optional[str] = None, **kwargs): # pylint: disable=redefined-builtin
"""
:keyword id: The ARM identifier for Private Endpoint.
:paramtype id: str
"""
super().__init__(**kwargs)
self.id = id
[docs]class PrivateEndpointConnection(Resource):
"""PrivateEndpointConnection.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar private_endpoint: The Private Endpoint resource for this Connection.
:vartype private_endpoint: ~azure.mgmt.eventgrid.models.PrivateEndpoint
:ivar group_ids: GroupIds from the private link service resource.
:vartype group_ids: list[str]
:ivar private_link_service_connection_state: Details about the state of the connection.
:vartype private_link_service_connection_state: ~azure.mgmt.eventgrid.models.ConnectionState
:ivar provisioning_state: Provisioning state of the Private Endpoint Connection. Known values
are: "Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.ResourceProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"private_endpoint": {"key": "properties.privateEndpoint", "type": "PrivateEndpoint"},
"group_ids": {"key": "properties.groupIds", "type": "[str]"},
"private_link_service_connection_state": {
"key": "properties.privateLinkServiceConnectionState",
"type": "ConnectionState",
},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(
self,
*,
private_endpoint: Optional["_models.PrivateEndpoint"] = None,
group_ids: Optional[List[str]] = None,
private_link_service_connection_state: Optional["_models.ConnectionState"] = None,
provisioning_state: Optional[Union[str, "_models.ResourceProvisioningState"]] = None,
**kwargs
):
"""
:keyword private_endpoint: The Private Endpoint resource for this Connection.
:paramtype private_endpoint: ~azure.mgmt.eventgrid.models.PrivateEndpoint
:keyword group_ids: GroupIds from the private link service resource.
:paramtype group_ids: list[str]
:keyword private_link_service_connection_state: Details about the state of the connection.
:paramtype private_link_service_connection_state: ~azure.mgmt.eventgrid.models.ConnectionState
:keyword provisioning_state: Provisioning state of the Private Endpoint Connection. Known
values are: "Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:paramtype provisioning_state: str or ~azure.mgmt.eventgrid.models.ResourceProvisioningState
"""
super().__init__(**kwargs)
self.private_endpoint = private_endpoint
self.group_ids = group_ids
self.private_link_service_connection_state = private_link_service_connection_state
self.provisioning_state = provisioning_state
[docs]class PrivateEndpointConnectionListResult(_serialization.Model):
"""Result of the list of all private endpoint connections operation.
:ivar value: A collection of private endpoint connection resources.
:vartype value: list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection]
:ivar next_link: A link for the next page of private endpoint connection resources.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[PrivateEndpointConnection]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self,
*,
value: Optional[List["_models.PrivateEndpointConnection"]] = None,
next_link: Optional[str] = None,
**kwargs
):
"""
:keyword value: A collection of private endpoint connection resources.
:paramtype value: list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection]
:keyword next_link: A link for the next page of private endpoint connection resources.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class PrivateLinkResource(_serialization.Model):
"""Information of the private link resource.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar group_id:
:vartype group_id: str
:ivar display_name:
:vartype display_name: str
:ivar required_members:
:vartype required_members: list[str]
:ivar required_zone_names:
:vartype required_zone_names: list[str]
"""
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"group_id": {"key": "properties.groupId", "type": "str"},
"display_name": {"key": "properties.displayName", "type": "str"},
"required_members": {"key": "properties.requiredMembers", "type": "[str]"},
"required_zone_names": {"key": "properties.requiredZoneNames", "type": "[str]"},
}
def __init__(
self,
*,
id: Optional[str] = None, # pylint: disable=redefined-builtin
name: Optional[str] = None,
type: Optional[str] = None,
group_id: Optional[str] = None,
display_name: Optional[str] = None,
required_members: Optional[List[str]] = None,
required_zone_names: Optional[List[str]] = None,
**kwargs
):
"""
:keyword id: Fully qualified identifier of the resource.
:paramtype id: str
:keyword name: Name of the resource.
:paramtype name: str
:keyword type: Type of the resource.
:paramtype type: str
:keyword group_id:
:paramtype group_id: str
:keyword display_name:
:paramtype display_name: str
:keyword required_members:
:paramtype required_members: list[str]
:keyword required_zone_names:
:paramtype required_zone_names: list[str]
"""
super().__init__(**kwargs)
self.id = id
self.name = name
self.type = type
self.group_id = group_id
self.display_name = display_name
self.required_members = required_members
self.required_zone_names = required_zone_names
[docs]class PrivateLinkResourcesListResult(_serialization.Model):
"""Result of the List private link resources operation.
:ivar value: A collection of private link resources.
:vartype value: list[~azure.mgmt.eventgrid.models.PrivateLinkResource]
:ivar next_link: A link for the next page of private link resources.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[PrivateLinkResource]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.PrivateLinkResource"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of private link resources.
:paramtype value: list[~azure.mgmt.eventgrid.models.PrivateLinkResource]
:keyword next_link: A link for the next page of private link resources.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class RetryPolicy(_serialization.Model):
"""Information about the retry policy for an event subscription.
:ivar max_delivery_attempts: Maximum number of delivery retry attempts for events.
:vartype max_delivery_attempts: int
:ivar event_time_to_live_in_minutes: Time To Live (in minutes) for events.
:vartype event_time_to_live_in_minutes: int
"""
_attribute_map = {
"max_delivery_attempts": {"key": "maxDeliveryAttempts", "type": "int"},
"event_time_to_live_in_minutes": {"key": "eventTimeToLiveInMinutes", "type": "int"},
}
def __init__(self, *, max_delivery_attempts: int = 30, event_time_to_live_in_minutes: int = 1440, **kwargs):
"""
:keyword max_delivery_attempts: Maximum number of delivery retry attempts for events.
:paramtype max_delivery_attempts: int
:keyword event_time_to_live_in_minutes: Time To Live (in minutes) for events.
:paramtype event_time_to_live_in_minutes: int
"""
super().__init__(**kwargs)
self.max_delivery_attempts = max_delivery_attempts
self.event_time_to_live_in_minutes = event_time_to_live_in_minutes
[docs]class ServiceBusQueueEventSubscriptionDestination(EventSubscriptionDestination):
"""Information about the service bus destination for an event subscription.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
:ivar resource_id: The Azure Resource Id that represents the endpoint of the Service Bus
destination of an event subscription.
:vartype resource_id: str
:ivar delivery_attribute_mappings: Delivery attribute details.
:vartype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"resource_id": {"key": "properties.resourceId", "type": "str"},
"delivery_attribute_mappings": {
"key": "properties.deliveryAttributeMappings",
"type": "[DeliveryAttributeMapping]",
},
}
def __init__(
self,
*,
resource_id: Optional[str] = None,
delivery_attribute_mappings: Optional[List["_models.DeliveryAttributeMapping"]] = None,
**kwargs
):
"""
:keyword resource_id: The Azure Resource Id that represents the endpoint of the Service Bus
destination of an event subscription.
:paramtype resource_id: str
:keyword delivery_attribute_mappings: Delivery attribute details.
:paramtype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
super().__init__(**kwargs)
self.endpoint_type: str = "ServiceBusQueue"
self.resource_id = resource_id
self.delivery_attribute_mappings = delivery_attribute_mappings
[docs]class ServiceBusTopicEventSubscriptionDestination(EventSubscriptionDestination):
"""Information about the service bus topic destination for an event subscription.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
:ivar resource_id: The Azure Resource Id that represents the endpoint of the Service Bus Topic
destination of an event subscription.
:vartype resource_id: str
:ivar delivery_attribute_mappings: Delivery attribute details.
:vartype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"resource_id": {"key": "properties.resourceId", "type": "str"},
"delivery_attribute_mappings": {
"key": "properties.deliveryAttributeMappings",
"type": "[DeliveryAttributeMapping]",
},
}
def __init__(
self,
*,
resource_id: Optional[str] = None,
delivery_attribute_mappings: Optional[List["_models.DeliveryAttributeMapping"]] = None,
**kwargs
):
"""
:keyword resource_id: The Azure Resource Id that represents the endpoint of the Service Bus
Topic destination of an event subscription.
:paramtype resource_id: str
:keyword delivery_attribute_mappings: Delivery attribute details.
:paramtype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
super().__init__(**kwargs)
self.endpoint_type: str = "ServiceBusTopic"
self.resource_id = resource_id
self.delivery_attribute_mappings = delivery_attribute_mappings
[docs]class StaticDeliveryAttributeMapping(DeliveryAttributeMapping):
"""Static delivery attribute mapping details.
All required parameters must be populated in order to send to Azure.
:ivar name: Name of the delivery attribute or header.
:vartype name: str
:ivar type: Type of the delivery attribute or header name. Required. Known values are: "Static"
and "Dynamic".
:vartype type: str or ~azure.mgmt.eventgrid.models.DeliveryAttributeMappingType
:ivar value: Value of the delivery attribute.
:vartype value: str
:ivar is_secret: Boolean flag to tell if the attribute contains sensitive information .
:vartype is_secret: bool
"""
_validation = {
"type": {"required": True},
}
_attribute_map = {
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"value": {"key": "properties.value", "type": "str"},
"is_secret": {"key": "properties.isSecret", "type": "bool"},
}
def __init__(self, *, name: Optional[str] = None, value: Optional[str] = None, is_secret: bool = False, **kwargs):
"""
:keyword name: Name of the delivery attribute or header.
:paramtype name: str
:keyword value: Value of the delivery attribute.
:paramtype value: str
:keyword is_secret: Boolean flag to tell if the attribute contains sensitive information .
:paramtype is_secret: bool
"""
super().__init__(name=name, **kwargs)
self.type: str = "Static"
self.value = value
self.is_secret = is_secret
[docs]class StorageBlobDeadLetterDestination(DeadLetterDestination):
"""Information about the storage blob based dead letter destination.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the dead letter destination. Required.
"StorageBlob"
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.DeadLetterEndPointType
:ivar resource_id: The Azure Resource ID of the storage account that is the destination of the
deadletter events.
:vartype resource_id: str
:ivar blob_container_name: The name of the Storage blob container that is the destination of
the deadletter events.
:vartype blob_container_name: str
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"resource_id": {"key": "properties.resourceId", "type": "str"},
"blob_container_name": {"key": "properties.blobContainerName", "type": "str"},
}
def __init__(self, *, resource_id: Optional[str] = None, blob_container_name: Optional[str] = None, **kwargs):
"""
:keyword resource_id: The Azure Resource ID of the storage account that is the destination of
the deadletter events.
:paramtype resource_id: str
:keyword blob_container_name: The name of the Storage blob container that is the destination of
the deadletter events.
:paramtype blob_container_name: str
"""
super().__init__(**kwargs)
self.endpoint_type: str = "StorageBlob"
self.resource_id = resource_id
self.blob_container_name = blob_container_name
[docs]class StorageQueueEventSubscriptionDestination(EventSubscriptionDestination):
"""Information about the storage queue destination for an event subscription.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
:ivar resource_id: The Azure Resource ID of the storage account that contains the queue that is
the destination of an event subscription.
:vartype resource_id: str
:ivar queue_name: The name of the Storage queue under a storage account that is the destination
of an event subscription.
:vartype queue_name: str
:ivar queue_message_time_to_live_in_seconds: Storage queue message time to live in seconds.
:vartype queue_message_time_to_live_in_seconds: int
"""
_validation = {
"endpoint_type": {"required": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"resource_id": {"key": "properties.resourceId", "type": "str"},
"queue_name": {"key": "properties.queueName", "type": "str"},
"queue_message_time_to_live_in_seconds": {"key": "properties.queueMessageTimeToLiveInSeconds", "type": "int"},
}
def __init__(
self,
*,
resource_id: Optional[str] = None,
queue_name: Optional[str] = None,
queue_message_time_to_live_in_seconds: Optional[int] = None,
**kwargs
):
"""
:keyword resource_id: The Azure Resource ID of the storage account that contains the queue that
is the destination of an event subscription.
:paramtype resource_id: str
:keyword queue_name: The name of the Storage queue under a storage account that is the
destination of an event subscription.
:paramtype queue_name: str
:keyword queue_message_time_to_live_in_seconds: Storage queue message time to live in seconds.
:paramtype queue_message_time_to_live_in_seconds: int
"""
super().__init__(**kwargs)
self.endpoint_type: str = "StorageQueue"
self.resource_id = resource_id
self.queue_name = queue_name
self.queue_message_time_to_live_in_seconds = queue_message_time_to_live_in_seconds
[docs]class StringBeginsWithAdvancedFilter(AdvancedFilter):
"""StringBeginsWith Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringBeginsWith"
self.values = values
[docs]class StringContainsAdvancedFilter(AdvancedFilter):
"""StringContains Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringContains"
self.values = values
[docs]class StringEndsWithAdvancedFilter(AdvancedFilter):
"""StringEndsWith Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringEndsWith"
self.values = values
[docs]class StringInAdvancedFilter(AdvancedFilter):
"""StringIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringIn"
self.values = values
[docs]class StringNotBeginsWithAdvancedFilter(AdvancedFilter):
"""StringNotBeginsWith Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringNotBeginsWith"
self.values = values
[docs]class StringNotContainsAdvancedFilter(AdvancedFilter):
"""StringNotContains Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringNotContains"
self.values = values
[docs]class StringNotEndsWithAdvancedFilter(AdvancedFilter):
"""StringNotEndsWith Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringNotEndsWith"
self.values = values
[docs]class StringNotInAdvancedFilter(AdvancedFilter):
"""StringNotIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:ivar operator_type: The operator type used for filtering, e.g., NumberIn, StringContains,
BoolEquals and others. Required. Known values are: "NumberIn", "NumberNotIn", "NumberLessThan",
"NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals",
"StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains",
"NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith",
"StringNotContains", "IsNullOrUndefined", and "IsNotNull".
:vartype operator_type: str or ~azure.mgmt.eventgrid.models.AdvancedFilterOperatorType
:ivar key: The field/property in the event based on which you want to filter.
:vartype key: str
:ivar values: The set of filter values.
:vartype values: list[str]
"""
_validation = {
"operator_type": {"required": True},
}
_attribute_map = {
"operator_type": {"key": "operatorType", "type": "str"},
"key": {"key": "key", "type": "str"},
"values": {"key": "values", "type": "[str]"},
}
def __init__(self, *, key: Optional[str] = None, values: Optional[List[str]] = None, **kwargs):
"""
:keyword key: The field/property in the event based on which you want to filter.
:paramtype key: str
:keyword values: The set of filter values.
:paramtype values: list[str]
"""
super().__init__(key=key, **kwargs)
self.operator_type: str = "StringNotIn"
self.values = values
[docs]class SystemData(_serialization.Model):
"""Metadata pertaining to creation and last modification of the resource.
:ivar created_by: The identity that created the resource.
:vartype created_by: str
:ivar created_by_type: The type of identity that created the resource. Known values are:
"User", "Application", "ManagedIdentity", and "Key".
:vartype created_by_type: str or ~azure.mgmt.eventgrid.models.CreatedByType
:ivar created_at: The timestamp of resource creation (UTC).
:vartype created_at: ~datetime.datetime
:ivar last_modified_by: The identity that last modified the resource.
:vartype last_modified_by: str
:ivar last_modified_by_type: The type of identity that last modified the resource. Known values
are: "User", "Application", "ManagedIdentity", and "Key".
:vartype last_modified_by_type: str or ~azure.mgmt.eventgrid.models.CreatedByType
:ivar last_modified_at: The timestamp of resource last modification (UTC).
:vartype last_modified_at: ~datetime.datetime
"""
_attribute_map = {
"created_by": {"key": "createdBy", "type": "str"},
"created_by_type": {"key": "createdByType", "type": "str"},
"created_at": {"key": "createdAt", "type": "iso-8601"},
"last_modified_by": {"key": "lastModifiedBy", "type": "str"},
"last_modified_by_type": {"key": "lastModifiedByType", "type": "str"},
"last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"},
}
def __init__(
self,
*,
created_by: Optional[str] = None,
created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
created_at: Optional[datetime.datetime] = None,
last_modified_by: Optional[str] = None,
last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None,
last_modified_at: Optional[datetime.datetime] = None,
**kwargs
):
"""
:keyword created_by: The identity that created the resource.
:paramtype created_by: str
:keyword created_by_type: The type of identity that created the resource. Known values are:
"User", "Application", "ManagedIdentity", and "Key".
:paramtype created_by_type: str or ~azure.mgmt.eventgrid.models.CreatedByType
:keyword created_at: The timestamp of resource creation (UTC).
:paramtype created_at: ~datetime.datetime
:keyword last_modified_by: The identity that last modified the resource.
:paramtype last_modified_by: str
:keyword last_modified_by_type: The type of identity that last modified the resource. Known
values are: "User", "Application", "ManagedIdentity", and "Key".
:paramtype last_modified_by_type: str or ~azure.mgmt.eventgrid.models.CreatedByType
:keyword last_modified_at: The timestamp of resource last modification (UTC).
:paramtype last_modified_at: ~datetime.datetime
"""
super().__init__(**kwargs)
self.created_by = created_by
self.created_by_type = created_by_type
self.created_at = created_at
self.last_modified_by = last_modified_by
self.last_modified_by_type = last_modified_by_type
self.last_modified_at = last_modified_at
[docs]class SystemTopic(TrackedResource): # pylint: disable=too-many-instance-attributes
"""EventGrid System Topic.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar location: Location of the resource. Required.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
:ivar identity: Identity information for the resource.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:ivar system_data: The system metadata relating to System Topic resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar provisioning_state: Provisioning state of the system topic. Known values are: "Creating",
"Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.ResourceProvisioningState
:ivar source: Source for the system topic.
:vartype source: str
:ivar topic_type: TopicType for the system topic.
:vartype topic_type: str
:ivar metric_resource_id: Metric resource id for the system topic.
:vartype metric_resource_id: str
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"location": {"required": True},
"system_data": {"readonly": True},
"provisioning_state": {"readonly": True},
"metric_resource_id": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"identity": {"key": "identity", "type": "IdentityInfo"},
"system_data": {"key": "systemData", "type": "SystemData"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"source": {"key": "properties.source", "type": "str"},
"topic_type": {"key": "properties.topicType", "type": "str"},
"metric_resource_id": {"key": "properties.metricResourceId", "type": "str"},
}
def __init__(
self,
*,
location: str,
tags: Optional[Dict[str, str]] = None,
identity: Optional["_models.IdentityInfo"] = None,
source: Optional[str] = None,
topic_type: Optional[str] = None,
**kwargs
):
"""
:keyword location: Location of the resource. Required.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
:keyword identity: Identity information for the resource.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:keyword source: Source for the system topic.
:paramtype source: str
:keyword topic_type: TopicType for the system topic.
:paramtype topic_type: str
"""
super().__init__(location=location, tags=tags, **kwargs)
self.identity = identity
self.system_data = None
self.provisioning_state = None
self.source = source
self.topic_type = topic_type
self.metric_resource_id = None
[docs]class SystemTopicsListResult(_serialization.Model):
"""Result of the List System topics operation.
:ivar value: A collection of system Topics.
:vartype value: list[~azure.mgmt.eventgrid.models.SystemTopic]
:ivar next_link: A link for the next page of topics.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[SystemTopic]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.SystemTopic"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of system Topics.
:paramtype value: list[~azure.mgmt.eventgrid.models.SystemTopic]
:keyword next_link: A link for the next page of topics.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class SystemTopicUpdateParameters(_serialization.Model):
"""Properties of the System Topic update.
:ivar tags: Tags of the system topic.
:vartype tags: dict[str, str]
:ivar identity: Resource identity information.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
"identity": {"key": "identity", "type": "IdentityInfo"},
}
def __init__(
self, *, tags: Optional[Dict[str, str]] = None, identity: Optional["_models.IdentityInfo"] = None, **kwargs
):
"""
:keyword tags: Tags of the system topic.
:paramtype tags: dict[str, str]
:keyword identity: Resource identity information.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
"""
super().__init__(**kwargs)
self.tags = tags
self.identity = identity
[docs]class Topic(TrackedResource): # pylint: disable=too-many-instance-attributes
"""EventGrid Topic.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar location: Location of the resource. Required.
:vartype location: str
:ivar tags: Tags of the resource.
:vartype tags: dict[str, str]
:ivar identity: Identity information for the resource.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:ivar system_data: The system metadata relating to Topic resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar private_endpoint_connections:
:vartype private_endpoint_connections:
list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection]
:ivar provisioning_state: Provisioning state of the topic. Known values are: "Creating",
"Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.TopicProvisioningState
:ivar endpoint: Endpoint for the topic.
:vartype endpoint: str
:ivar input_schema: This determines the format that Event Grid should expect for incoming
events published to the topic. Known values are: "EventGridSchema", "CustomEventSchema", and
"CloudEventSchemaV1_0".
:vartype input_schema: str or ~azure.mgmt.eventgrid.models.InputSchema
:ivar input_schema_mapping: This enables publishing using custom event schemas. An
InputSchemaMapping can be specified to map various properties of a source schema to various
required properties of the EventGridEvent schema.
:vartype input_schema_mapping: ~azure.mgmt.eventgrid.models.InputSchemaMapping
:ivar metric_resource_id: Metric resource id for the topic.
:vartype metric_resource_id: str
:ivar public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:vartype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:ivar inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of all
IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:vartype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:ivar disable_local_auth: This boolean is used to enable or disable local auth. Default value
is false. When the property is set to true, only AAD token will be used to authenticate if user
is allowed to publish to the topic.
:vartype disable_local_auth: bool
:ivar data_residency_boundary: Data Residency Boundary of the resource. Known values are:
"WithinGeopair" and "WithinRegion".
:vartype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"location": {"required": True},
"system_data": {"readonly": True},
"private_endpoint_connections": {"readonly": True},
"provisioning_state": {"readonly": True},
"endpoint": {"readonly": True},
"metric_resource_id": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"location": {"key": "location", "type": "str"},
"tags": {"key": "tags", "type": "{str}"},
"identity": {"key": "identity", "type": "IdentityInfo"},
"system_data": {"key": "systemData", "type": "SystemData"},
"private_endpoint_connections": {
"key": "properties.privateEndpointConnections",
"type": "[PrivateEndpointConnection]",
},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"endpoint": {"key": "properties.endpoint", "type": "str"},
"input_schema": {"key": "properties.inputSchema", "type": "str"},
"input_schema_mapping": {"key": "properties.inputSchemaMapping", "type": "InputSchemaMapping"},
"metric_resource_id": {"key": "properties.metricResourceId", "type": "str"},
"public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"},
"inbound_ip_rules": {"key": "properties.inboundIpRules", "type": "[InboundIpRule]"},
"disable_local_auth": {"key": "properties.disableLocalAuth", "type": "bool"},
"data_residency_boundary": {"key": "properties.dataResidencyBoundary", "type": "str"},
}
def __init__(
self,
*,
location: str,
tags: Optional[Dict[str, str]] = None,
identity: Optional["_models.IdentityInfo"] = None,
input_schema: Optional[Union[str, "_models.InputSchema"]] = None,
input_schema_mapping: Optional["_models.InputSchemaMapping"] = None,
public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
inbound_ip_rules: Optional[List["_models.InboundIpRule"]] = None,
disable_local_auth: bool = False,
data_residency_boundary: Optional[Union[str, "_models.DataResidencyBoundary"]] = None,
**kwargs
):
"""
:keyword location: Location of the resource. Required.
:paramtype location: str
:keyword tags: Tags of the resource.
:paramtype tags: dict[str, str]
:keyword identity: Identity information for the resource.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:keyword input_schema: This determines the format that Event Grid should expect for incoming
events published to the topic. Known values are: "EventGridSchema", "CustomEventSchema", and
"CloudEventSchemaV1_0".
:paramtype input_schema: str or ~azure.mgmt.eventgrid.models.InputSchema
:keyword input_schema_mapping: This enables publishing using custom event schemas. An
InputSchemaMapping can be specified to map various properties of a source schema to various
required properties of the EventGridEvent schema.
:paramtype input_schema_mapping: ~azure.mgmt.eventgrid.models.InputSchemaMapping
:keyword public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:paramtype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:keyword inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of
all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:paramtype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:keyword disable_local_auth: This boolean is used to enable or disable local auth. Default
value is false. When the property is set to true, only AAD token will be used to authenticate
if user is allowed to publish to the topic.
:paramtype disable_local_auth: bool
:keyword data_residency_boundary: Data Residency Boundary of the resource. Known values are:
"WithinGeopair" and "WithinRegion".
:paramtype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
super().__init__(location=location, tags=tags, **kwargs)
self.identity = identity
self.system_data = None
self.private_endpoint_connections = None
self.provisioning_state = None
self.endpoint = None
self.input_schema = input_schema
self.input_schema_mapping = input_schema_mapping
self.metric_resource_id = None
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.disable_local_auth = disable_local_auth
self.data_residency_boundary = data_residency_boundary
[docs]class TopicRegenerateKeyRequest(_serialization.Model):
"""Topic regenerate share access key request.
All required parameters must be populated in order to send to Azure.
:ivar key_name: Key name to regenerate key1 or key2. Required.
:vartype key_name: str
"""
_validation = {
"key_name": {"required": True},
}
_attribute_map = {
"key_name": {"key": "keyName", "type": "str"},
}
def __init__(self, *, key_name: str, **kwargs):
"""
:keyword key_name: Key name to regenerate key1 or key2. Required.
:paramtype key_name: str
"""
super().__init__(**kwargs)
self.key_name = key_name
[docs]class TopicSharedAccessKeys(_serialization.Model):
"""Shared access keys of the Topic.
:ivar key1: Shared access key1 for the topic.
:vartype key1: str
:ivar key2: Shared access key2 for the topic.
:vartype key2: str
"""
_attribute_map = {
"key1": {"key": "key1", "type": "str"},
"key2": {"key": "key2", "type": "str"},
}
def __init__(self, *, key1: Optional[str] = None, key2: Optional[str] = None, **kwargs):
"""
:keyword key1: Shared access key1 for the topic.
:paramtype key1: str
:keyword key2: Shared access key2 for the topic.
:paramtype key2: str
"""
super().__init__(**kwargs)
self.key1 = key1
self.key2 = key2
[docs]class TopicsListResult(_serialization.Model):
"""Result of the List Topics operation.
:ivar value: A collection of Topics.
:vartype value: list[~azure.mgmt.eventgrid.models.Topic]
:ivar next_link: A link for the next page of topics.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[Topic]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(self, *, value: Optional[List["_models.Topic"]] = None, next_link: Optional[str] = None, **kwargs):
"""
:keyword value: A collection of Topics.
:paramtype value: list[~azure.mgmt.eventgrid.models.Topic]
:keyword next_link: A link for the next page of topics.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class TopicTypeInfo(Resource): # pylint: disable=too-many-instance-attributes
"""Properties of a topic type info.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar provider: Namespace of the provider of the topic type.
:vartype provider: str
:ivar display_name: Display Name for the topic type.
:vartype display_name: str
:ivar description: Description of the topic type.
:vartype description: str
:ivar resource_region_type: Region type of the resource. Known values are: "RegionalResource"
and "GlobalResource".
:vartype resource_region_type: str or ~azure.mgmt.eventgrid.models.ResourceRegionType
:ivar provisioning_state: Provisioning state of the topic type. Known values are: "Creating",
"Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or ~azure.mgmt.eventgrid.models.TopicTypeProvisioningState
:ivar supported_locations: List of locations supported by this topic type.
:vartype supported_locations: list[str]
:ivar source_resource_format: Source resource format.
:vartype source_resource_format: str
:ivar supported_scopes_for_source: Supported source scopes.
:vartype supported_scopes_for_source: list[str or
~azure.mgmt.eventgrid.models.TopicTypeSourceScope]
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"provider": {"key": "properties.provider", "type": "str"},
"display_name": {"key": "properties.displayName", "type": "str"},
"description": {"key": "properties.description", "type": "str"},
"resource_region_type": {"key": "properties.resourceRegionType", "type": "str"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
"supported_locations": {"key": "properties.supportedLocations", "type": "[str]"},
"source_resource_format": {"key": "properties.sourceResourceFormat", "type": "str"},
"supported_scopes_for_source": {"key": "properties.supportedScopesForSource", "type": "[str]"},
}
def __init__(
self,
*,
provider: Optional[str] = None,
display_name: Optional[str] = None,
description: Optional[str] = None,
resource_region_type: Optional[Union[str, "_models.ResourceRegionType"]] = None,
provisioning_state: Optional[Union[str, "_models.TopicTypeProvisioningState"]] = None,
supported_locations: Optional[List[str]] = None,
source_resource_format: Optional[str] = None,
supported_scopes_for_source: Optional[List[Union[str, "_models.TopicTypeSourceScope"]]] = None,
**kwargs
):
"""
:keyword provider: Namespace of the provider of the topic type.
:paramtype provider: str
:keyword display_name: Display Name for the topic type.
:paramtype display_name: str
:keyword description: Description of the topic type.
:paramtype description: str
:keyword resource_region_type: Region type of the resource. Known values are:
"RegionalResource" and "GlobalResource".
:paramtype resource_region_type: str or ~azure.mgmt.eventgrid.models.ResourceRegionType
:keyword provisioning_state: Provisioning state of the topic type. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:paramtype provisioning_state: str or ~azure.mgmt.eventgrid.models.TopicTypeProvisioningState
:keyword supported_locations: List of locations supported by this topic type.
:paramtype supported_locations: list[str]
:keyword source_resource_format: Source resource format.
:paramtype source_resource_format: str
:keyword supported_scopes_for_source: Supported source scopes.
:paramtype supported_scopes_for_source: list[str or
~azure.mgmt.eventgrid.models.TopicTypeSourceScope]
"""
super().__init__(**kwargs)
self.provider = provider
self.display_name = display_name
self.description = description
self.resource_region_type = resource_region_type
self.provisioning_state = provisioning_state
self.supported_locations = supported_locations
self.source_resource_format = source_resource_format
self.supported_scopes_for_source = supported_scopes_for_source
[docs]class TopicTypesListResult(_serialization.Model):
"""Result of the List Topic Types operation.
:ivar value: A collection of topic types.
:vartype value: list[~azure.mgmt.eventgrid.models.TopicTypeInfo]
"""
_attribute_map = {
"value": {"key": "value", "type": "[TopicTypeInfo]"},
}
def __init__(self, *, value: Optional[List["_models.TopicTypeInfo"]] = None, **kwargs):
"""
:keyword value: A collection of topic types.
:paramtype value: list[~azure.mgmt.eventgrid.models.TopicTypeInfo]
"""
super().__init__(**kwargs)
self.value = value
[docs]class TopicUpdateParameters(_serialization.Model):
"""Properties of the Topic update.
:ivar tags: Tags of the Topic resource.
:vartype tags: dict[str, str]
:ivar identity: Topic resource identity information.
:vartype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:ivar public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicUpdateParameterProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:vartype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:ivar inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of all
IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:vartype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:ivar disable_local_auth: This boolean is used to enable or disable local auth. Default value
is false. When the property is set to true, only AAD token will be used to authenticate if user
is allowed to publish to the topic.
:vartype disable_local_auth: bool
:ivar data_residency_boundary: The data residency boundary for the topic. Known values are:
"WithinGeopair" and "WithinRegion".
:vartype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
_attribute_map = {
"tags": {"key": "tags", "type": "{str}"},
"identity": {"key": "identity", "type": "IdentityInfo"},
"public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"},
"inbound_ip_rules": {"key": "properties.inboundIpRules", "type": "[InboundIpRule]"},
"disable_local_auth": {"key": "properties.disableLocalAuth", "type": "bool"},
"data_residency_boundary": {"key": "properties.dataResidencyBoundary", "type": "str"},
}
def __init__(
self,
*,
tags: Optional[Dict[str, str]] = None,
identity: Optional["_models.IdentityInfo"] = None,
public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None,
inbound_ip_rules: Optional[List["_models.InboundIpRule"]] = None,
disable_local_auth: Optional[bool] = None,
data_residency_boundary: Optional[Union[str, "_models.DataResidencyBoundary"]] = None,
**kwargs
):
"""
:keyword tags: Tags of the Topic resource.
:paramtype tags: dict[str, str]
:keyword identity: Topic resource identity information.
:paramtype identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:keyword public_network_access: This determines if traffic is allowed over public network. By
default it is enabled.
You can further restrict to specific IPs by configuring :code:`<seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicUpdateParameterProperties.InboundIpRules"
/>`. Known values are: "Enabled" and "Disabled".
:paramtype public_network_access: str or ~azure.mgmt.eventgrid.models.PublicNetworkAccess
:keyword inbound_ip_rules: This can be used to restrict traffic from specific IPs instead of
all IPs. Note: These are considered only if PublicNetworkAccess is enabled.
:paramtype inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:keyword disable_local_auth: This boolean is used to enable or disable local auth. Default
value is false. When the property is set to true, only AAD token will be used to authenticate
if user is allowed to publish to the topic.
:paramtype disable_local_auth: bool
:keyword data_residency_boundary: The data residency boundary for the topic. Known values are:
"WithinGeopair" and "WithinRegion".
:paramtype data_residency_boundary: str or ~azure.mgmt.eventgrid.models.DataResidencyBoundary
"""
super().__init__(**kwargs)
self.tags = tags
self.identity = identity
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.disable_local_auth = disable_local_auth
self.data_residency_boundary = data_residency_boundary
[docs]class UserIdentityProperties(_serialization.Model):
"""The information about the user identity.
:ivar principal_id: The principal id of user assigned identity.
:vartype principal_id: str
:ivar client_id: The client id of user assigned identity.
:vartype client_id: str
"""
_attribute_map = {
"principal_id": {"key": "principalId", "type": "str"},
"client_id": {"key": "clientId", "type": "str"},
}
def __init__(self, *, principal_id: Optional[str] = None, client_id: Optional[str] = None, **kwargs):
"""
:keyword principal_id: The principal id of user assigned identity.
:paramtype principal_id: str
:keyword client_id: The client id of user assigned identity.
:paramtype client_id: str
"""
super().__init__(**kwargs)
self.principal_id = principal_id
self.client_id = client_id
[docs]class VerifiedPartner(Resource):
"""Verified partner information.
Variables are only populated by the server, and will be ignored when sending a request.
:ivar id: Fully qualified identifier of the resource.
:vartype id: str
:ivar name: Name of the resource.
:vartype name: str
:ivar type: Type of the resource.
:vartype type: str
:ivar system_data: The system metadata relating to Verified Partner resource.
:vartype system_data: ~azure.mgmt.eventgrid.models.SystemData
:ivar partner_registration_immutable_id: ImmutableId of the corresponding partner registration.
:vartype partner_registration_immutable_id: str
:ivar organization_name: Official name of the Partner.
:vartype organization_name: str
:ivar partner_display_name: Display name of the verified partner.
:vartype partner_display_name: str
:ivar partner_topic_details: Details of the partner topic scenario.
:vartype partner_topic_details: ~azure.mgmt.eventgrid.models.PartnerDetails
:ivar provisioning_state: Provisioning state of the verified partner. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.VerifiedPartnerProvisioningState
"""
_validation = {
"id": {"readonly": True},
"name": {"readonly": True},
"type": {"readonly": True},
"system_data": {"readonly": True},
}
_attribute_map = {
"id": {"key": "id", "type": "str"},
"name": {"key": "name", "type": "str"},
"type": {"key": "type", "type": "str"},
"system_data": {"key": "systemData", "type": "SystemData"},
"partner_registration_immutable_id": {"key": "properties.partnerRegistrationImmutableId", "type": "str"},
"organization_name": {"key": "properties.organizationName", "type": "str"},
"partner_display_name": {"key": "properties.partnerDisplayName", "type": "str"},
"partner_topic_details": {"key": "properties.partnerTopicDetails", "type": "PartnerDetails"},
"provisioning_state": {"key": "properties.provisioningState", "type": "str"},
}
def __init__(
self,
*,
partner_registration_immutable_id: Optional[str] = None,
organization_name: Optional[str] = None,
partner_display_name: Optional[str] = None,
partner_topic_details: Optional["_models.PartnerDetails"] = None,
provisioning_state: Optional[Union[str, "_models.VerifiedPartnerProvisioningState"]] = None,
**kwargs
):
"""
:keyword partner_registration_immutable_id: ImmutableId of the corresponding partner
registration.
:paramtype partner_registration_immutable_id: str
:keyword organization_name: Official name of the Partner.
:paramtype organization_name: str
:keyword partner_display_name: Display name of the verified partner.
:paramtype partner_display_name: str
:keyword partner_topic_details: Details of the partner topic scenario.
:paramtype partner_topic_details: ~azure.mgmt.eventgrid.models.PartnerDetails
:keyword provisioning_state: Provisioning state of the verified partner. Known values are:
"Creating", "Updating", "Deleting", "Succeeded", "Canceled", and "Failed".
:paramtype provisioning_state: str or
~azure.mgmt.eventgrid.models.VerifiedPartnerProvisioningState
"""
super().__init__(**kwargs)
self.system_data = None
self.partner_registration_immutable_id = partner_registration_immutable_id
self.organization_name = organization_name
self.partner_display_name = partner_display_name
self.partner_topic_details = partner_topic_details
self.provisioning_state = provisioning_state
[docs]class VerifiedPartnersListResult(_serialization.Model):
"""Result of the List verified partners operation.
:ivar value: A collection of verified partners.
:vartype value: list[~azure.mgmt.eventgrid.models.VerifiedPartner]
:ivar next_link: A link for the next page of verified partners if any.
:vartype next_link: str
"""
_attribute_map = {
"value": {"key": "value", "type": "[VerifiedPartner]"},
"next_link": {"key": "nextLink", "type": "str"},
}
def __init__(
self, *, value: Optional[List["_models.VerifiedPartner"]] = None, next_link: Optional[str] = None, **kwargs
):
"""
:keyword value: A collection of verified partners.
:paramtype value: list[~azure.mgmt.eventgrid.models.VerifiedPartner]
:keyword next_link: A link for the next page of verified partners if any.
:paramtype next_link: str
"""
super().__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class WebHookEventSubscriptionDestination(EventSubscriptionDestination):
"""Information about the webhook destination for an event subscription.
Variables are only populated by the server, and will be ignored when sending a request.
All required parameters must be populated in order to send to Azure.
:ivar endpoint_type: Type of the endpoint for the event subscription destination. Required.
Known values are: "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue",
"ServiceBusTopic", and "AzureFunction".
:vartype endpoint_type: str or ~azure.mgmt.eventgrid.models.EndpointType
:ivar endpoint_url: The URL that represents the endpoint of the destination of an event
subscription.
:vartype endpoint_url: str
:ivar endpoint_base_url: The base URL that represents the endpoint of the destination of an
event subscription.
:vartype endpoint_base_url: str
:ivar max_events_per_batch: Maximum number of events per batch.
:vartype max_events_per_batch: int
:ivar preferred_batch_size_in_kilobytes: Preferred batch size in Kilobytes.
:vartype preferred_batch_size_in_kilobytes: int
:ivar azure_active_directory_tenant_id: The Azure Active Directory Tenant ID to get the access
token that will be included as the bearer token in delivery requests.
:vartype azure_active_directory_tenant_id: str
:ivar azure_active_directory_application_id_or_uri: The Azure Active Directory Application ID
or URI to get the access token that will be included as the bearer token in delivery requests.
:vartype azure_active_directory_application_id_or_uri: str
:ivar delivery_attribute_mappings: Delivery attribute details.
:vartype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
_validation = {
"endpoint_type": {"required": True},
"endpoint_base_url": {"readonly": True},
}
_attribute_map = {
"endpoint_type": {"key": "endpointType", "type": "str"},
"endpoint_url": {"key": "properties.endpointUrl", "type": "str"},
"endpoint_base_url": {"key": "properties.endpointBaseUrl", "type": "str"},
"max_events_per_batch": {"key": "properties.maxEventsPerBatch", "type": "int"},
"preferred_batch_size_in_kilobytes": {"key": "properties.preferredBatchSizeInKilobytes", "type": "int"},
"azure_active_directory_tenant_id": {"key": "properties.azureActiveDirectoryTenantId", "type": "str"},
"azure_active_directory_application_id_or_uri": {
"key": "properties.azureActiveDirectoryApplicationIdOrUri",
"type": "str",
},
"delivery_attribute_mappings": {
"key": "properties.deliveryAttributeMappings",
"type": "[DeliveryAttributeMapping]",
},
}
def __init__(
self,
*,
endpoint_url: Optional[str] = None,
max_events_per_batch: int = 1,
preferred_batch_size_in_kilobytes: int = 64,
azure_active_directory_tenant_id: Optional[str] = None,
azure_active_directory_application_id_or_uri: Optional[str] = None,
delivery_attribute_mappings: Optional[List["_models.DeliveryAttributeMapping"]] = None,
**kwargs
):
"""
:keyword endpoint_url: The URL that represents the endpoint of the destination of an event
subscription.
:paramtype endpoint_url: str
:keyword max_events_per_batch: Maximum number of events per batch.
:paramtype max_events_per_batch: int
:keyword preferred_batch_size_in_kilobytes: Preferred batch size in Kilobytes.
:paramtype preferred_batch_size_in_kilobytes: int
:keyword azure_active_directory_tenant_id: The Azure Active Directory Tenant ID to get the
access token that will be included as the bearer token in delivery requests.
:paramtype azure_active_directory_tenant_id: str
:keyword azure_active_directory_application_id_or_uri: The Azure Active Directory Application
ID or URI to get the access token that will be included as the bearer token in delivery
requests.
:paramtype azure_active_directory_application_id_or_uri: str
:keyword delivery_attribute_mappings: Delivery attribute details.
:paramtype delivery_attribute_mappings:
list[~azure.mgmt.eventgrid.models.DeliveryAttributeMapping]
"""
super().__init__(**kwargs)
self.endpoint_type: str = "WebHook"
self.endpoint_url = endpoint_url
self.endpoint_base_url = None
self.max_events_per_batch = max_events_per_batch
self.preferred_batch_size_in_kilobytes = preferred_batch_size_in_kilobytes
self.azure_active_directory_tenant_id = azure_active_directory_tenant_id
self.azure_active_directory_application_id_or_uri = azure_active_directory_application_id_or_uri
self.delivery_attribute_mappings = delivery_attribute_mappings