# coding=utf-8
# --------------------------------------------------------------------------
# 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.
# --------------------------------------------------------------------------
from msrest.serialization import Model
[docs]class AdvancedFilter(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: NumberInAdvancedFilter, NumberNotInAdvancedFilter,
NumberLessThanAdvancedFilter, NumberGreaterThanAdvancedFilter,
NumberLessThanOrEqualsAdvancedFilter,
NumberGreaterThanOrEqualsAdvancedFilter, BoolEqualsAdvancedFilter,
StringInAdvancedFilter, StringNotInAdvancedFilter,
StringBeginsWithAdvancedFilter, StringEndsWithAdvancedFilter,
StringContainsAdvancedFilter
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
}
_subtype_map = {
'operator_type': {'NumberIn': 'NumberInAdvancedFilter', 'NumberNotIn': 'NumberNotInAdvancedFilter', 'NumberLessThan': 'NumberLessThanAdvancedFilter', 'NumberGreaterThan': 'NumberGreaterThanAdvancedFilter', 'NumberLessThanOrEquals': 'NumberLessThanOrEqualsAdvancedFilter', 'NumberGreaterThanOrEquals': 'NumberGreaterThanOrEqualsAdvancedFilter', 'BoolEquals': 'BoolEqualsAdvancedFilter', 'StringIn': 'StringInAdvancedFilter', 'StringNotIn': 'StringNotInAdvancedFilter', 'StringBeginsWith': 'StringBeginsWithAdvancedFilter', 'StringEndsWith': 'StringEndsWithAdvancedFilter', 'StringContains': 'StringContainsAdvancedFilter'}
}
def __init__(self, *, key: str=None, **kwargs) -> None:
super(AdvancedFilter, self).__init__(**kwargs)
self.key = key
self.operator_type = None
[docs]class EventSubscriptionDestination(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: WebHookEventSubscriptionDestination,
EventHubEventSubscriptionDestination,
StorageQueueEventSubscriptionDestination,
HybridConnectionEventSubscriptionDestination,
ServiceBusQueueEventSubscriptionDestination,
ServiceBusTopicEventSubscriptionDestination,
AzureFunctionEventSubscriptionDestination
All required parameters must be populated in order to send to Azure.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
"""
_validation = {
'endpoint_type': {'required': True},
}
_attribute_map = {
'endpoint_type': {'key': 'endpointType', 'type': 'str'},
}
_subtype_map = {
'endpoint_type': {'WebHook': 'WebHookEventSubscriptionDestination', 'EventHub': 'EventHubEventSubscriptionDestination', 'StorageQueue': 'StorageQueueEventSubscriptionDestination', 'HybridConnection': 'HybridConnectionEventSubscriptionDestination', 'ServiceBusQueue': 'ServiceBusQueueEventSubscriptionDestination', 'ServiceBusTopic': 'ServiceBusTopicEventSubscriptionDestination', 'AzureFunction': 'AzureFunctionEventSubscriptionDestination'}
}
def __init__(self, **kwargs) -> None:
super(EventSubscriptionDestination, self).__init__(**kwargs)
self.endpoint_type = 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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param resource_id: The Azure Resource Id that represents the endpoint of
the Azure Function destination of an event subscription.
:type resource_id: str
:param max_events_per_batch: Maximum number of events per batch.
:type max_events_per_batch: int
:param preferred_batch_size_in_kilobytes: Preferred batch size in
Kilobytes.
:type preferred_batch_size_in_kilobytes: int
"""
_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'},
}
def __init__(self, *, resource_id: str=None, max_events_per_batch: int=None, preferred_batch_size_in_kilobytes: int=None, **kwargs) -> None:
super(AzureFunctionEventSubscriptionDestination, self).__init__(**kwargs)
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.endpoint_type = 'AzureFunction'
[docs]class BoolEqualsAdvancedFilter(AdvancedFilter):
"""BoolEquals Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param value: The boolean filter value.
:type value: bool
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'value': {'key': 'value', 'type': 'bool'},
}
def __init__(self, *, key: str=None, value: bool=None, **kwargs) -> None:
super(BoolEqualsAdvancedFilter, self).__init__(key=key, **kwargs)
self.value = value
self.operator_type = 'BoolEquals'
class CloudError(Model):
"""CloudError.
"""
_attribute_map = {
}
[docs]class ConnectionState(Model):
"""ConnectionState information.
:param status: Status of the connection. Possible values include:
'Pending', 'Approved', 'Rejected', 'Disconnected'
:type status: str or
~azure.mgmt.eventgrid.models.PersistedConnectionStatus
:param description: Description of the connection state.
:type description: str
:param actions_required: Actions required (if any).
:type 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=None, description: str=None, actions_required: str=None, **kwargs) -> None:
super(ConnectionState, self).__init__(**kwargs)
self.status = status
self.description = description
self.actions_required = actions_required
[docs]class DeadLetterDestination(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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
"""
_validation = {
'endpoint_type': {'required': True},
}
_attribute_map = {
'endpoint_type': {'key': 'endpointType', 'type': 'str'},
}
_subtype_map = {
'endpoint_type': {'StorageBlob': 'StorageBlobDeadLetterDestination'}
}
def __init__(self, **kwargs) -> None:
super(DeadLetterDestination, self).__init__(**kwargs)
self.endpoint_type = None
[docs]class DeadLetterWithResourceIdentity(Model):
"""Information about the deadletter destination with resource identity.
:param identity: The identity to use when dead-lettering events.
:type identity: ~azure.mgmt.eventgrid.models.EventSubscriptionIdentity
:param 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.
:type 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=None, dead_letter_destination=None, **kwargs) -> None:
super(DeadLetterWithResourceIdentity, self).__init__(**kwargs)
self.identity = identity
self.dead_letter_destination = dead_letter_destination
[docs]class DeliveryWithResourceIdentity(Model):
"""Information about the delivery for an event subscription with resource
identity.
:param identity: The identity to use when delivering events.
:type identity: ~azure.mgmt.eventgrid.models.EventSubscriptionIdentity
:param 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.
:type destination:
~azure.mgmt.eventgrid.models.EventSubscriptionDestination
"""
_attribute_map = {
'identity': {'key': 'identity', 'type': 'EventSubscriptionIdentity'},
'destination': {'key': 'destination', 'type': 'EventSubscriptionDestination'},
}
def __init__(self, *, identity=None, destination=None, **kwargs) -> None:
super(DeliveryWithResourceIdentity, self).__init__(**kwargs)
self.identity = identity
self.destination = destination
[docs]class Resource(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) -> None:
super(Resource, self).__init__(**kwargs)
self.id = None
self.name = None
self.type = None
[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
:param location: Required. Location of the resource.
:type location: str
:param tags: Tags of the resource.
:type 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=None, **kwargs) -> None:
super(TrackedResource, self).__init__(**kwargs)
self.location = location
self.tags = tags
[docs]class Domain(TrackedResource):
"""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
:param location: Required. Location of the resource.
:type location: str
:param tags: Tags of the resource.
:type tags: dict[str, str]
:param private_endpoint_connections: List of private endpoint connections.
:type private_endpoint_connections:
list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection]
:ivar provisioning_state: Provisioning state of the domain. Possible
values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.DomainProvisioningState
:ivar endpoint: Endpoint for the domain.
:vartype endpoint: str
:param input_schema: This determines the format that Event Grid should
expect for incoming events published to the domain. Possible values
include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventSchemaV1_0'.
Default value: "EventGridSchema" .
:type input_schema: str or ~azure.mgmt.eventgrid.models.InputSchema
:param input_schema_mapping: Information about the InputSchemaMapping
which specified the info about mapping event payload.
:type input_schema_mapping:
~azure.mgmt.eventgrid.models.InputSchemaMapping
:ivar metric_resource_id: Metric resource id for the domain.
:vartype metric_resource_id: str
:param 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 <seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainProperties.InboundIpRules"
/>. Possible values include: 'Enabled', 'Disabled'
:type public_network_access: str or
~azure.mgmt.eventgrid.models.PublicNetworkAccess
:param 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.
:type inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:param sku: The Sku pricing tier for the domain.
:type sku: ~azure.mgmt.eventgrid.models.ResourceSku
:param identity: Identity information for the resource.
:type identity: ~azure.mgmt.eventgrid.models.IdentityInfo
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': 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}'},
'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]'},
'sku': {'key': 'sku', 'type': 'ResourceSku'},
'identity': {'key': 'identity', 'type': 'IdentityInfo'},
}
def __init__(self, *, location: str, tags=None, private_endpoint_connections=None, input_schema="EventGridSchema", input_schema_mapping=None, public_network_access=None, inbound_ip_rules=None, sku=None, identity=None, **kwargs) -> None:
super(Domain, self).__init__(location=location, tags=tags, **kwargs)
self.private_endpoint_connections = private_endpoint_connections
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.sku = sku
self.identity = identity
[docs]class DomainRegenerateKeyRequest(Model):
"""Domain regenerate share access key request.
All required parameters must be populated in order to send to Azure.
:param key_name: Required. Key name to regenerate key1 or key2.
:type key_name: str
"""
_validation = {
'key_name': {'required': True},
}
_attribute_map = {
'key_name': {'key': 'keyName', 'type': 'str'},
}
def __init__(self, *, key_name: str, **kwargs) -> None:
super(DomainRegenerateKeyRequest, self).__init__(**kwargs)
self.key_name = key_name
[docs]class DomainSharedAccessKeys(Model):
"""Shared access keys of the Domain.
:param key1: Shared access key1 for the domain.
:type key1: str
:param key2: Shared access key2 for the domain.
:type key2: str
"""
_attribute_map = {
'key1': {'key': 'key1', 'type': 'str'},
'key2': {'key': 'key2', 'type': 'str'},
}
def __init__(self, *, key1: str=None, key2: str=None, **kwargs) -> None:
super(DomainSharedAccessKeys, self).__init__(**kwargs)
self.key1 = key1
self.key2 = key2
[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
:param provisioning_state: Provisioning state of the domain topic.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:type provisioning_state: str or
~azure.mgmt.eventgrid.models.DomainTopicProvisioningState
"""
_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'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
}
def __init__(self, *, provisioning_state=None, **kwargs) -> None:
super(DomainTopic, self).__init__(**kwargs)
self.provisioning_state = provisioning_state
[docs]class DomainUpdateParameters(Model):
"""Properties of the Domain update.
:param tags: Tags of the domains resource.
:type tags: dict[str, str]
:param 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 <seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainUpdateParameterProperties.InboundIpRules"
/>. Possible values include: 'Enabled', 'Disabled'
:type public_network_access: str or
~azure.mgmt.eventgrid.models.PublicNetworkAccess
:param 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.
:type inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:param identity: Identity information for the resource.
:type identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:param sku: The Sku pricing tier for the domain.
:type sku: ~azure.mgmt.eventgrid.models.ResourceSku
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'},
'inbound_ip_rules': {'key': 'properties.inboundIpRules', 'type': '[InboundIpRule]'},
'identity': {'key': 'identity', 'type': 'IdentityInfo'},
'sku': {'key': 'sku', 'type': 'ResourceSku'},
}
def __init__(self, *, tags=None, public_network_access=None, inbound_ip_rules=None, identity=None, sku=None, **kwargs) -> None:
super(DomainUpdateParameters, self).__init__(**kwargs)
self.tags = tags
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.identity = identity
self.sku = sku
[docs]class EventChannel(Resource):
"""Event Channel.
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
:param source: Source of the event channel. This represents a unique
resource in the partner's resource model.
:type source: ~azure.mgmt.eventgrid.models.EventChannelSource
:param destination: Represents the destination of an event channel.
:type destination: ~azure.mgmt.eventgrid.models.EventChannelDestination
:ivar provisioning_state: Provisioning state of the event channel.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.EventChannelProvisioningState
:param filter: Information about the filter for the event channel.
:type filter: ~azure.mgmt.eventgrid.models.EventChannelFilter
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'provisioning_state': {'readonly': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'source': {'key': 'properties.source', 'type': 'EventChannelSource'},
'destination': {'key': 'properties.destination', 'type': 'EventChannelDestination'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'filter': {'key': 'properties.filter', 'type': 'EventChannelFilter'},
}
def __init__(self, *, source=None, destination=None, filter=None, **kwargs) -> None:
super(EventChannel, self).__init__(**kwargs)
self.source = source
self.destination = destination
self.provisioning_state = None
self.filter = filter
[docs]class EventChannelDestination(Model):
"""Properties of the destination of an event channel.
:param azure_subscription_id: Azure subscription ID of the customer
creating the event channel. The partner topic
associated with the event channel will be created under this Azure
subscription.
:type azure_subscription_id: str
:param resource_group: Azure Resource Group of the customer creating the
event channel. The partner topic
associated with the event channel will be created under this resource
group.
:type resource_group: str
:param partner_topic_name: Name of the partner topic associated with the
event channel.
:type partner_topic_name: str
"""
_attribute_map = {
'azure_subscription_id': {'key': 'azureSubscriptionId', 'type': 'str'},
'resource_group': {'key': 'resourceGroup', 'type': 'str'},
'partner_topic_name': {'key': 'partnerTopicName', 'type': 'str'},
}
def __init__(self, *, azure_subscription_id: str=None, resource_group: str=None, partner_topic_name: str=None, **kwargs) -> None:
super(EventChannelDestination, self).__init__(**kwargs)
self.azure_subscription_id = azure_subscription_id
self.resource_group = resource_group
self.partner_topic_name = partner_topic_name
[docs]class EventChannelFilter(Model):
"""Filter for the Event Channel.
:param subject_begins_with: An optional string to filter events for an
event channel 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.
:type subject_begins_with: str
:param subject_ends_with: An optional string to filter events for an event
channel based on a resource path suffix.
Wildcard characters are not supported in this path.
:type subject_ends_with: str
:param included_event_types: A list of applicable event types that need to
be part of the event channel. If it is desired to subscribe to all default
event types, set the IncludedEventTypes to null.
:type included_event_types: list[str]
:param is_subject_case_sensitive: Specifies if the SubjectBeginsWith and
SubjectEndsWith properties of the filter
should be compared in a case sensitive manner.
:type is_subject_case_sensitive: bool
:param advanced_filters: An array of advanced filters that are used for
filtering event channels.
:type 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'},
'advanced_filters': {'key': 'advancedFilters', 'type': '[AdvancedFilter]'},
}
def __init__(self, *, subject_begins_with: str=None, subject_ends_with: str=None, included_event_types=None, is_subject_case_sensitive: bool=None, advanced_filters=None, **kwargs) -> None:
super(EventChannelFilter, self).__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.advanced_filters = advanced_filters
[docs]class EventChannelSource(Model):
"""Properties of the source of an event channel.
:param source: The identifier of the resource that's the source of the
events.
This represents a unique resource in the partner's resource model.
:type source: str
"""
_attribute_map = {
'source': {'key': 'source', 'type': 'str'},
}
def __init__(self, *, source: str=None, **kwargs) -> None:
super(EventChannelSource, self).__init__(**kwargs)
self.source = source
[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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param resource_id: The Azure Resource Id that represents the endpoint of
an Event Hub destination of an event subscription.
:type resource_id: str
"""
_validation = {
'endpoint_type': {'required': True},
}
_attribute_map = {
'endpoint_type': {'key': 'endpointType', 'type': 'str'},
'resource_id': {'key': 'properties.resourceId', 'type': 'str'},
}
def __init__(self, *, resource_id: str=None, **kwargs) -> None:
super(EventHubEventSubscriptionDestination, self).__init__(**kwargs)
self.resource_id = resource_id
self.endpoint_type = 'EventHub'
[docs]class EventSubscription(Resource):
"""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 topic: Name of the topic of the event subscription.
:vartype topic: str
:ivar provisioning_state: Provisioning state of the event subscription.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed', 'AwaitingManualAction'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.EventSubscriptionProvisioningState
:param 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.
:type destination:
~azure.mgmt.eventgrid.models.EventSubscriptionDestination
:param 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.
:type delivery_with_resource_identity:
~azure.mgmt.eventgrid.models.DeliveryWithResourceIdentity
:param filter: Information about the filter for the event subscription.
:type filter: ~azure.mgmt.eventgrid.models.EventSubscriptionFilter
:param labels: List of user defined labels.
:type labels: list[str]
:param expiration_time_utc: Expiration time of the event subscription.
:type expiration_time_utc: datetime
:param event_delivery_schema: The event delivery schema for the event
subscription. Possible values include: 'EventGridSchema',
'CustomInputSchema', 'CloudEventSchemaV1_0'
:type event_delivery_schema: str or
~azure.mgmt.eventgrid.models.EventDeliverySchema
:param retry_policy: The retry policy for events. This can be used to
configure maximum number of delivery attempts and time to live for events.
:type retry_policy: ~azure.mgmt.eventgrid.models.RetryPolicy
:param 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.
:type dead_letter_destination:
~azure.mgmt.eventgrid.models.DeadLetterDestination
:param 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.
:type dead_letter_with_resource_identity:
~azure.mgmt.eventgrid.models.DeadLetterWithResourceIdentity
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'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'},
'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=None, delivery_with_resource_identity=None, filter=None, labels=None, expiration_time_utc=None, event_delivery_schema=None, retry_policy=None, dead_letter_destination=None, dead_letter_with_resource_identity=None, **kwargs) -> None:
super(EventSubscription, self).__init__(**kwargs)
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(Model):
"""Filter for the Event Subscription.
:param 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.
:type subject_begins_with: str
:param 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.
:type subject_ends_with: str
:param 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.
:type included_event_types: list[str]
:param is_subject_case_sensitive: Specifies if the SubjectBeginsWith and
SubjectEndsWith properties of the filter
should be compared in a case sensitive manner. Default value: False .
:type is_subject_case_sensitive: bool
:param advanced_filters: An array of advanced filters that are used for
filtering event subscriptions.
:type 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'},
'advanced_filters': {'key': 'advancedFilters', 'type': '[AdvancedFilter]'},
}
def __init__(self, *, subject_begins_with: str=None, subject_ends_with: str=None, included_event_types=None, is_subject_case_sensitive: bool=False, advanced_filters=None, **kwargs) -> None:
super(EventSubscriptionFilter, self).__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.advanced_filters = advanced_filters
[docs]class EventSubscriptionFullUrl(Model):
"""Full endpoint url of an event subscription.
:param endpoint_url: The URL that represents the endpoint of the
destination of an event subscription.
:type endpoint_url: str
"""
_attribute_map = {
'endpoint_url': {'key': 'endpointUrl', 'type': 'str'},
}
def __init__(self, *, endpoint_url: str=None, **kwargs) -> None:
super(EventSubscriptionFullUrl, self).__init__(**kwargs)
self.endpoint_url = endpoint_url
[docs]class EventSubscriptionIdentity(Model):
"""The identity information with the event subscription.
:param 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.
Possible values include: 'SystemAssigned', 'UserAssigned'
:type type: str or
~azure.mgmt.eventgrid.models.EventSubscriptionIdentityType
:param user_assigned_identity: The user identity associated with the
resource.
:type user_assigned_identity: str
"""
_attribute_map = {
'type': {'key': 'type', 'type': 'str'},
'user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'},
}
def __init__(self, *, type=None, user_assigned_identity: str=None, **kwargs) -> None:
super(EventSubscriptionIdentity, self).__init__(**kwargs)
self.type = type
self.user_assigned_identity = user_assigned_identity
[docs]class EventSubscriptionUpdateParameters(Model):
"""Properties of the Event Subscription update.
:param 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.
:type destination:
~azure.mgmt.eventgrid.models.EventSubscriptionDestination
:param 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.
:type delivery_with_resource_identity:
~azure.mgmt.eventgrid.models.DeliveryWithResourceIdentity
:param filter: Information about the filter for the event subscription.
:type filter: ~azure.mgmt.eventgrid.models.EventSubscriptionFilter
:param labels: List of user defined labels.
:type labels: list[str]
:param expiration_time_utc: Information about the expiration time for the
event subscription.
:type expiration_time_utc: datetime
:param event_delivery_schema: The event delivery schema for the event
subscription. Possible values include: 'EventGridSchema',
'CustomInputSchema', 'CloudEventSchemaV1_0'
:type event_delivery_schema: str or
~azure.mgmt.eventgrid.models.EventDeliverySchema
:param retry_policy: The retry policy for events. This can be used to
configure maximum number of delivery attempts and time to live for events.
:type retry_policy: ~azure.mgmt.eventgrid.models.RetryPolicy
:param 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.
:type dead_letter_destination:
~azure.mgmt.eventgrid.models.DeadLetterDestination
:param 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.
:type 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=None, delivery_with_resource_identity=None, filter=None, labels=None, expiration_time_utc=None, event_delivery_schema=None, retry_policy=None, dead_letter_destination=None, dead_letter_with_resource_identity=None, **kwargs) -> None:
super(EventSubscriptionUpdateParameters, self).__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
:param display_name: Display name of the event type.
:type display_name: str
:param description: Description of the event type.
:type description: str
:param schema_url: Url of the schema for this event type.
:type schema_url: str
:param is_in_default_set: IsInDefaultSet flag of the event type.
:type 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: str=None, description: str=None, schema_url: str=None, is_in_default_set: bool=None, **kwargs) -> None:
super(EventType, self).__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 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
:param description: Description of the extension topic.
:type description: str
:param system_topic: System topic resource id which is mapped to the
source.
:type system_topic: 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'},
'description': {'key': 'properties.description', 'type': 'str'},
'system_topic': {'key': 'properties.systemTopic', 'type': 'str'},
}
def __init__(self, *, description: str=None, system_topic: str=None, **kwargs) -> None:
super(ExtensionTopic, self).__init__(**kwargs)
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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param resource_id: The Azure Resource ID of an hybrid connection that is
the destination of an event subscription.
:type resource_id: str
"""
_validation = {
'endpoint_type': {'required': True},
}
_attribute_map = {
'endpoint_type': {'key': 'endpointType', 'type': 'str'},
'resource_id': {'key': 'properties.resourceId', 'type': 'str'},
}
def __init__(self, *, resource_id: str=None, **kwargs) -> None:
super(HybridConnectionEventSubscriptionDestination, self).__init__(**kwargs)
self.resource_id = resource_id
self.endpoint_type = 'HybridConnection'
[docs]class IdentityInfo(Model):
"""The identity information for the resource.
:param 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.
Possible values include: 'None', 'SystemAssigned', 'UserAssigned',
'SystemAssigned, UserAssigned'
:type type: str or ~azure.mgmt.eventgrid.models.IdentityType
:param principal_id: The principal ID of resource identity.
:type principal_id: str
:param tenant_id: The tenant ID of resource.
:type tenant_id: str
:param 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.
:type 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=None, principal_id: str=None, tenant_id: str=None, user_assigned_identities=None, **kwargs) -> None:
super(IdentityInfo, self).__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(Model):
"""InboundIpRule.
:param ip_mask: IP Address in CIDR notation e.g., 10.0.0.0/8.
:type ip_mask: str
:param action: Action to perform based on the match or no match of the
IpMask. Possible values include: 'Allow'
:type 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: str=None, action=None, **kwargs) -> None:
super(InboundIpRule, self).__init__(**kwargs)
self.ip_mask = ip_mask
self.action = action
[docs]class JsonField(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.
:param source_field: Name of a field in the input event schema that's to
be used as the source of a mapping.
:type source_field: str
"""
_attribute_map = {
'source_field': {'key': 'sourceField', 'type': 'str'},
}
def __init__(self, *, source_field: str=None, **kwargs) -> None:
super(JsonField, self).__init__(**kwargs)
self.source_field = source_field
[docs]class JsonFieldWithDefault(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.
:param source_field: Name of a field in the input event schema that's to
be used as the source of a mapping.
:type source_field: str
:param 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.
:type default_value: str
"""
_attribute_map = {
'source_field': {'key': 'sourceField', 'type': 'str'},
'default_value': {'key': 'defaultValue', 'type': 'str'},
}
def __init__(self, *, source_field: str=None, default_value: str=None, **kwargs) -> None:
super(JsonFieldWithDefault, self).__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.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param value: The filter value.
:type value: float
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'value': {'key': 'value', 'type': 'float'},
}
def __init__(self, *, key: str=None, value: float=None, **kwargs) -> None:
super(NumberGreaterThanAdvancedFilter, self).__init__(key=key, **kwargs)
self.value = value
self.operator_type = 'NumberGreaterThan'
[docs]class NumberGreaterThanOrEqualsAdvancedFilter(AdvancedFilter):
"""NumberGreaterThanOrEquals Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param value: The filter value.
:type value: float
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'value': {'key': 'value', 'type': 'float'},
}
def __init__(self, *, key: str=None, value: float=None, **kwargs) -> None:
super(NumberGreaterThanOrEqualsAdvancedFilter, self).__init__(key=key, **kwargs)
self.value = value
self.operator_type = 'NumberGreaterThanOrEquals'
[docs]class NumberInAdvancedFilter(AdvancedFilter):
"""NumberIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param values: The set of filter values.
:type values: list[float]
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'values': {'key': 'values', 'type': '[float]'},
}
def __init__(self, *, key: str=None, values=None, **kwargs) -> None:
super(NumberInAdvancedFilter, self).__init__(key=key, **kwargs)
self.values = values
self.operator_type = 'NumberIn'
[docs]class NumberLessThanAdvancedFilter(AdvancedFilter):
"""NumberLessThan Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param value: The filter value.
:type value: float
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'value': {'key': 'value', 'type': 'float'},
}
def __init__(self, *, key: str=None, value: float=None, **kwargs) -> None:
super(NumberLessThanAdvancedFilter, self).__init__(key=key, **kwargs)
self.value = value
self.operator_type = 'NumberLessThan'
[docs]class NumberLessThanOrEqualsAdvancedFilter(AdvancedFilter):
"""NumberLessThanOrEquals Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param value: The filter value.
:type value: float
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'value': {'key': 'value', 'type': 'float'},
}
def __init__(self, *, key: str=None, value: float=None, **kwargs) -> None:
super(NumberLessThanOrEqualsAdvancedFilter, self).__init__(key=key, **kwargs)
self.value = value
self.operator_type = 'NumberLessThanOrEquals'
[docs]class NumberNotInAdvancedFilter(AdvancedFilter):
"""NumberNotIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param values: The set of filter values.
:type values: list[float]
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'values': {'key': 'values', 'type': '[float]'},
}
def __init__(self, *, key: str=None, values=None, **kwargs) -> None:
super(NumberNotInAdvancedFilter, self).__init__(key=key, **kwargs)
self.values = values
self.operator_type = 'NumberNotIn'
[docs]class Operation(Model):
"""Represents an operation returned by the GetOperations request.
:param name: Name of the operation
:type name: str
:param display: Display name of the operation
:type display: ~azure.mgmt.eventgrid.models.OperationInfo
:param origin: Origin of the operation
:type origin: str
:param properties: Properties of the operation
:type properties: object
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
'display': {'key': 'display', 'type': 'OperationInfo'},
'origin': {'key': 'origin', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'object'},
}
def __init__(self, *, name: str=None, display=None, origin: str=None, properties=None, **kwargs) -> None:
super(Operation, self).__init__(**kwargs)
self.name = name
self.display = display
self.origin = origin
self.properties = properties
[docs]class OperationInfo(Model):
"""Information about an operation.
:param provider: Name of the provider
:type provider: str
:param resource: Name of the resource type
:type resource: str
:param operation: Name of the operation
:type operation: str
:param description: Description of the operation
:type 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: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None:
super(OperationInfo, self).__init__(**kwargs)
self.provider = provider
self.resource = resource
self.operation = operation
self.description = description
[docs]class PartnerNamespace(TrackedResource):
"""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
:param location: Required. Location of the resource.
:type location: str
:param tags: Tags of the resource.
:type tags: dict[str, str]
:ivar provisioning_state: Provisioning state of the partner namespace.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.PartnerNamespaceProvisioningState
:param 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}.
:type partner_registration_fully_qualified_id: str
:ivar endpoint: Endpoint for the partner namespace.
:vartype endpoint: str
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': 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}'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'partner_registration_fully_qualified_id': {'key': 'properties.partnerRegistrationFullyQualifiedId', 'type': 'str'},
'endpoint': {'key': 'properties.endpoint', 'type': 'str'},
}
def __init__(self, *, location: str, tags=None, partner_registration_fully_qualified_id: str=None, **kwargs) -> None:
super(PartnerNamespace, self).__init__(location=location, tags=tags, **kwargs)
self.provisioning_state = None
self.partner_registration_fully_qualified_id = partner_registration_fully_qualified_id
self.endpoint = None
[docs]class PartnerNamespaceRegenerateKeyRequest(Model):
"""PartnerNamespace regenerate shared access key request.
All required parameters must be populated in order to send to Azure.
:param key_name: Required. Key name to regenerate (key1 or key2).
:type key_name: str
"""
_validation = {
'key_name': {'required': True},
}
_attribute_map = {
'key_name': {'key': 'keyName', 'type': 'str'},
}
def __init__(self, *, key_name: str, **kwargs) -> None:
super(PartnerNamespaceRegenerateKeyRequest, self).__init__(**kwargs)
self.key_name = key_name
[docs]class PartnerNamespaceSharedAccessKeys(Model):
"""Shared access keys of the partner namespace.
:param key1: Shared access key1 for the partner namespace.
:type key1: str
:param key2: Shared access key2 for the partner namespace.
:type key2: str
"""
_attribute_map = {
'key1': {'key': 'key1', 'type': 'str'},
'key2': {'key': 'key2', 'type': 'str'},
}
def __init__(self, *, key1: str=None, key2: str=None, **kwargs) -> None:
super(PartnerNamespaceSharedAccessKeys, self).__init__(**kwargs)
self.key1 = key1
self.key2 = key2
[docs]class PartnerNamespaceUpdateParameters(Model):
"""Properties of the PartnerNamespace update.
:param tags: Tags of the partner namespace.
:type tags: dict[str, str]
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, tags=None, **kwargs) -> None:
super(PartnerNamespaceUpdateParameters, self).__init__(**kwargs)
self.tags = tags
[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
:param location: Required. Location of the resource.
:type location: str
:param tags: Tags of the resource.
:type tags: dict[str, str]
:ivar provisioning_state: Provisioning state of the partner registration.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.PartnerRegistrationProvisioningState
:param partner_name: Official name of the partner name. For example:
"Contoso".
:type partner_name: str
:param partner_resource_type_name: Name of the partner resource type.
:type partner_resource_type_name: str
:param partner_resource_type_display_name: Display name of the partner
resource type.
:type partner_resource_type_display_name: str
:param partner_resource_type_description: Description of the partner
resource type.
:type partner_resource_type_description: str
:param setup_uri: URI of the partner website that can be used by Azure
customers to setup Event Grid
integration on an event source.
:type setup_uri: str
:param logo_uri: URI of the logo.
:type logo_uri: str
:param visibility_state: Visibility state of the partner registration.
Possible values include: 'Hidden', 'PublicPreview', 'GenerallyAvailable'
:type visibility_state: str or
~azure.mgmt.eventgrid.models.PartnerRegistrationVisibilityState
:param authorized_azure_subscription_ids: List of Azure subscription Ids
that are authorized to create a partner namespace
associated with this partner registration. This is an optional property.
Creating
partner namespaces is always permitted under the same Azure subscription
as the one used
for creating the partner registration.
:type authorized_azure_subscription_ids: list[str]
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': 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}'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'partner_name': {'key': 'properties.partnerName', 'type': 'str'},
'partner_resource_type_name': {'key': 'properties.partnerResourceTypeName', 'type': 'str'},
'partner_resource_type_display_name': {'key': 'properties.partnerResourceTypeDisplayName', 'type': 'str'},
'partner_resource_type_description': {'key': 'properties.partnerResourceTypeDescription', 'type': 'str'},
'setup_uri': {'key': 'properties.setupUri', 'type': 'str'},
'logo_uri': {'key': 'properties.logoUri', 'type': 'str'},
'visibility_state': {'key': 'properties.visibilityState', 'type': 'str'},
'authorized_azure_subscription_ids': {'key': 'properties.authorizedAzureSubscriptionIds', 'type': '[str]'},
}
def __init__(self, *, location: str, tags=None, partner_name: str=None, partner_resource_type_name: str=None, partner_resource_type_display_name: str=None, partner_resource_type_description: str=None, setup_uri: str=None, logo_uri: str=None, visibility_state=None, authorized_azure_subscription_ids=None, **kwargs) -> None:
super(PartnerRegistration, self).__init__(location=location, tags=tags, **kwargs)
self.provisioning_state = None
self.partner_name = partner_name
self.partner_resource_type_name = partner_resource_type_name
self.partner_resource_type_display_name = partner_resource_type_display_name
self.partner_resource_type_description = partner_resource_type_description
self.setup_uri = setup_uri
self.logo_uri = logo_uri
self.visibility_state = visibility_state
self.authorized_azure_subscription_ids = authorized_azure_subscription_ids
[docs]class PartnerRegistrationEventTypesListResult(Model):
"""Result of the List Partner Registration Event Types operation.
:param value: A collection of partner registration event types.
:type value: list[~azure.mgmt.eventgrid.models.EventType]
:param next_link: A link for the next page of partner registration event
types.
:type next_link: str
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[EventType]'},
'next_link': {'key': 'nextLink', 'type': 'str'},
}
def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None:
super(PartnerRegistrationEventTypesListResult, self).__init__(**kwargs)
self.value = value
self.next_link = next_link
[docs]class PartnerRegistrationUpdateParameters(Model):
"""Properties of the Partner Registration update.
:param tags: Tags of the partner registration resource.
:type tags: dict[str, str]
:param partner_topic_type_name: Name of the partner topic type.
:type partner_topic_type_name: str
:param partner_topic_type_display_name: Display name of the partner topic
type.
:type partner_topic_type_display_name: str
:param partner_topic_type_description: Description of the partner topic
type.
:type partner_topic_type_description: str
:param setup_uri: URI of the partner website that can be used by Azure
customers to setup Event Grid
integration on an event source.
:type setup_uri: str
:param logo_uri: URI of the partner logo.
:type logo_uri: str
:param authorized_azure_subscription_ids: List of IDs of Azure AD
applications that are authorized to create a partner namespace
associated with this partner registration. This is an optional property.
Creating
partner namespaces is always permitted under the same Azure subscription
as the one used
for creating the partner registration.
:type authorized_azure_subscription_ids: list[str]
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
'partner_topic_type_name': {'key': 'partnerTopicTypeName', 'type': 'str'},
'partner_topic_type_display_name': {'key': 'partnerTopicTypeDisplayName', 'type': 'str'},
'partner_topic_type_description': {'key': 'partnerTopicTypeDescription', 'type': 'str'},
'setup_uri': {'key': 'setupUri', 'type': 'str'},
'logo_uri': {'key': 'logoUri', 'type': 'str'},
'authorized_azure_subscription_ids': {'key': 'authorizedAzureSubscriptionIds', 'type': '[str]'},
}
def __init__(self, *, tags=None, partner_topic_type_name: str=None, partner_topic_type_display_name: str=None, partner_topic_type_description: str=None, setup_uri: str=None, logo_uri: str=None, authorized_azure_subscription_ids=None, **kwargs) -> None:
super(PartnerRegistrationUpdateParameters, self).__init__(**kwargs)
self.tags = tags
self.partner_topic_type_name = partner_topic_type_name
self.partner_topic_type_display_name = partner_topic_type_display_name
self.partner_topic_type_description = partner_topic_type_description
self.setup_uri = setup_uri
self.logo_uri = logo_uri
self.authorized_azure_subscription_ids = authorized_azure_subscription_ids
[docs]class PartnerTopic(TrackedResource):
"""EventGrid 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
:param location: Required. Location of the resource.
:type location: str
:param tags: Tags of the resource.
:type tags: dict[str, str]
:param source: Source associated with this partner topic. This represents
a unique partner resource.
:type source: str
:ivar provisioning_state: Provisioning state of the partner topic.
Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.PartnerTopicProvisioningState
:param activation_state: Activation state of the partner topic. Possible
values include: 'NeverActivated', 'Activated', 'Deactivated'
:type activation_state: str or
~azure.mgmt.eventgrid.models.PartnerTopicActivationState
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': 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}'},
'source': {'key': 'properties.source', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'activation_state': {'key': 'properties.activationState', 'type': 'str'},
}
def __init__(self, *, location: str, tags=None, source: str=None, activation_state=None, **kwargs) -> None:
super(PartnerTopic, self).__init__(location=location, tags=tags, **kwargs)
self.source = source
self.provisioning_state = None
self.activation_state = activation_state
[docs]class PartnerTopicType(Resource):
"""Properties of a partner topic type.
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
:param partner_name: Official name of the partner.
:type partner_name: str
:param topic_type_name: Name of the partner topic type. This name should
be unique among all partner topic types names.
:type topic_type_name: str
:param display_name: Display Name for the partner topic type.
:type display_name: str
:param description: Description of the partner topic type.
:type description: str
:param setup_uri: URI of the partner website that can be used by Azure
customers to setup Event Grid
integration on an event source.
:type setup_uri: str
:param authorization_state: Status of whether the customer has authorized
a partner to create partner topics
in the customer's subscription. Possible values include: 'NotApplicable',
'NotAuthorized', 'Authorized'
:type authorization_state: str or
~azure.mgmt.eventgrid.models.PartnerTopicTypeAuthorizationState
"""
_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'},
'partner_name': {'key': 'properties.partnerName', 'type': 'str'},
'topic_type_name': {'key': 'properties.topicTypeName', 'type': 'str'},
'display_name': {'key': 'properties.displayName', 'type': 'str'},
'description': {'key': 'properties.description', 'type': 'str'},
'setup_uri': {'key': 'properties.setupUri', 'type': 'str'},
'authorization_state': {'key': 'properties.authorizationState', 'type': 'str'},
}
def __init__(self, *, partner_name: str=None, topic_type_name: str=None, display_name: str=None, description: str=None, setup_uri: str=None, authorization_state=None, **kwargs) -> None:
super(PartnerTopicType, self).__init__(**kwargs)
self.partner_name = partner_name
self.topic_type_name = topic_type_name
self.display_name = display_name
self.description = description
self.setup_uri = setup_uri
self.authorization_state = authorization_state
[docs]class PartnerTopicTypesListResult(Model):
"""Result of the List Partner Topic Types operation.
:param value: A collection of partner topic types.
:type value: list[~azure.mgmt.eventgrid.models.PartnerTopicType]
"""
_attribute_map = {
'value': {'key': 'value', 'type': '[PartnerTopicType]'},
}
def __init__(self, *, value=None, **kwargs) -> None:
super(PartnerTopicTypesListResult, self).__init__(**kwargs)
self.value = value
[docs]class PartnerTopicUpdateParameters(Model):
"""Properties of the Partner Topic update.
:param tags: Tags of the partner topic.
:type tags: dict[str, str]
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, tags=None, **kwargs) -> None:
super(PartnerTopicUpdateParameters, self).__init__(**kwargs)
self.tags = tags
[docs]class PrivateEndpoint(Model):
"""PrivateEndpoint information.
:param id: The ARM identifier for Private Endpoint.
:type id: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}
def __init__(self, *, id: str=None, **kwargs) -> None:
super(PrivateEndpoint, self).__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
:param private_endpoint: The Private Endpoint resource for this
Connection.
:type private_endpoint: ~azure.mgmt.eventgrid.models.PrivateEndpoint
:param group_ids: GroupIds from the private link service resource.
:type group_ids: list[str]
:param private_link_service_connection_state: Details about the state of
the connection.
:type private_link_service_connection_state:
~azure.mgmt.eventgrid.models.ConnectionState
:param provisioning_state: Provisioning state of the Private Endpoint
Connection. Possible values include: 'Creating', 'Updating', 'Deleting',
'Succeeded', 'Canceled', 'Failed'
:type 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=None, group_ids=None, private_link_service_connection_state=None, provisioning_state=None, **kwargs) -> None:
super(PrivateEndpointConnection, self).__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 PrivateLinkResource(Model):
"""Information of the private link resource.
:param group_id:
:type group_id: str
:param display_name:
:type display_name: str
:param required_members:
:type required_members: list[str]
:param required_zone_names:
:type required_zone_names: list[str]
:param id: Fully qualified identifier of the resource.
:type id: str
:param name: Name of the resource
:type name: str
:param type: Type of the resource
:type type: str
"""
_attribute_map = {
'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]'},
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
}
def __init__(self, *, group_id: str=None, display_name: str=None, required_members=None, required_zone_names=None, id: str=None, name: str=None, type: str=None, **kwargs) -> None:
super(PrivateLinkResource, self).__init__(**kwargs)
self.group_id = group_id
self.display_name = display_name
self.required_members = required_members
self.required_zone_names = required_zone_names
self.id = id
self.name = name
self.type = type
[docs]class ResourceSku(Model):
"""Describes an EventGrid Resource Sku.
:param name: the Sku name of the resource.
the possible values: Basic; Premium. Possible values include: 'Basic',
'Premium'
:type name: str or ~azure.mgmt.eventgrid.models.Sku
"""
_attribute_map = {
'name': {'key': 'name', 'type': 'str'},
}
def __init__(self, *, name=None, **kwargs) -> None:
super(ResourceSku, self).__init__(**kwargs)
self.name = name
[docs]class RetryPolicy(Model):
"""Information about the retry policy for an event subscription.
:param max_delivery_attempts: Maximum number of delivery retry attempts
for events.
:type max_delivery_attempts: int
:param event_time_to_live_in_minutes: Time To Live (in minutes) for
events.
:type 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=None, event_time_to_live_in_minutes: int=None, **kwargs) -> None:
super(RetryPolicy, self).__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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param resource_id: The Azure Resource Id that represents the endpoint of
the Service Bus destination of an event subscription.
:type resource_id: str
"""
_validation = {
'endpoint_type': {'required': True},
}
_attribute_map = {
'endpoint_type': {'key': 'endpointType', 'type': 'str'},
'resource_id': {'key': 'properties.resourceId', 'type': 'str'},
}
def __init__(self, *, resource_id: str=None, **kwargs) -> None:
super(ServiceBusQueueEventSubscriptionDestination, self).__init__(**kwargs)
self.resource_id = resource_id
self.endpoint_type = 'ServiceBusQueue'
[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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param resource_id: The Azure Resource Id that represents the endpoint of
the Service Bus Topic destination of an event subscription.
:type resource_id: str
"""
_validation = {
'endpoint_type': {'required': True},
}
_attribute_map = {
'endpoint_type': {'key': 'endpointType', 'type': 'str'},
'resource_id': {'key': 'properties.resourceId', 'type': 'str'},
}
def __init__(self, *, resource_id: str=None, **kwargs) -> None:
super(ServiceBusTopicEventSubscriptionDestination, self).__init__(**kwargs)
self.resource_id = resource_id
self.endpoint_type = 'ServiceBusTopic'
[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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param resource_id: The Azure Resource ID of the storage account that is
the destination of the deadletter events
:type resource_id: str
:param blob_container_name: The name of the Storage blob container that is
the destination of the deadletter events
:type 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: str=None, blob_container_name: str=None, **kwargs) -> None:
super(StorageBlobDeadLetterDestination, self).__init__(**kwargs)
self.resource_id = resource_id
self.blob_container_name = blob_container_name
self.endpoint_type = 'StorageBlob'
[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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param resource_id: The Azure Resource ID of the storage account that
contains the queue that is the destination of an event subscription.
:type resource_id: str
:param queue_name: The name of the Storage queue under a storage account
that is the destination of an event subscription.
:type queue_name: str
"""
_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'},
}
def __init__(self, *, resource_id: str=None, queue_name: str=None, **kwargs) -> None:
super(StorageQueueEventSubscriptionDestination, self).__init__(**kwargs)
self.resource_id = resource_id
self.queue_name = queue_name
self.endpoint_type = 'StorageQueue'
[docs]class StringBeginsWithAdvancedFilter(AdvancedFilter):
"""StringBeginsWith Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param values: The set of filter values.
:type values: list[str]
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'values': {'key': 'values', 'type': '[str]'},
}
def __init__(self, *, key: str=None, values=None, **kwargs) -> None:
super(StringBeginsWithAdvancedFilter, self).__init__(key=key, **kwargs)
self.values = values
self.operator_type = 'StringBeginsWith'
[docs]class StringContainsAdvancedFilter(AdvancedFilter):
"""StringContains Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param values: The set of filter values.
:type values: list[str]
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'values': {'key': 'values', 'type': '[str]'},
}
def __init__(self, *, key: str=None, values=None, **kwargs) -> None:
super(StringContainsAdvancedFilter, self).__init__(key=key, **kwargs)
self.values = values
self.operator_type = 'StringContains'
[docs]class StringEndsWithAdvancedFilter(AdvancedFilter):
"""StringEndsWith Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param values: The set of filter values.
:type values: list[str]
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'values': {'key': 'values', 'type': '[str]'},
}
def __init__(self, *, key: str=None, values=None, **kwargs) -> None:
super(StringEndsWithAdvancedFilter, self).__init__(key=key, **kwargs)
self.values = values
self.operator_type = 'StringEndsWith'
[docs]class StringInAdvancedFilter(AdvancedFilter):
"""StringIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param values: The set of filter values.
:type values: list[str]
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'values': {'key': 'values', 'type': '[str]'},
}
def __init__(self, *, key: str=None, values=None, **kwargs) -> None:
super(StringInAdvancedFilter, self).__init__(key=key, **kwargs)
self.values = values
self.operator_type = 'StringIn'
[docs]class StringNotInAdvancedFilter(AdvancedFilter):
"""StringNotIn Advanced Filter.
All required parameters must be populated in order to send to Azure.
:param key: The field/property in the event based on which you want to
filter.
:type key: str
:param operator_type: Required. Constant filled by server.
:type operator_type: str
:param values: The set of filter values.
:type values: list[str]
"""
_validation = {
'operator_type': {'required': True},
}
_attribute_map = {
'key': {'key': 'key', 'type': 'str'},
'operator_type': {'key': 'operatorType', 'type': 'str'},
'values': {'key': 'values', 'type': '[str]'},
}
def __init__(self, *, key: str=None, values=None, **kwargs) -> None:
super(StringNotInAdvancedFilter, self).__init__(key=key, **kwargs)
self.values = values
self.operator_type = 'StringNotIn'
[docs]class SystemTopic(TrackedResource):
"""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
:param location: Required. Location of the resource.
:type location: str
:param tags: Tags of the resource.
:type tags: dict[str, str]
:ivar provisioning_state: Provisioning state of the system topic. Possible
values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.ResourceProvisioningState
:param source: Source for the system topic.
:type source: str
:param topic_type: TopicType for the system topic.
:type 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},
'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}'},
'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=None, source: str=None, topic_type: str=None, **kwargs) -> None:
super(SystemTopic, self).__init__(location=location, tags=tags, **kwargs)
self.provisioning_state = None
self.source = source
self.topic_type = topic_type
self.metric_resource_id = None
[docs]class SystemTopicUpdateParameters(Model):
"""Properties of the System Topic update.
:param tags: Tags of the system topic.
:type tags: dict[str, str]
"""
_attribute_map = {
'tags': {'key': 'tags', 'type': '{str}'},
}
def __init__(self, *, tags=None, **kwargs) -> None:
super(SystemTopicUpdateParameters, self).__init__(**kwargs)
self.tags = tags
[docs]class Topic(TrackedResource):
"""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
:param location: Required. Location of the resource.
:type location: str
:param tags: Tags of the resource.
:type tags: dict[str, str]
:param private_endpoint_connections:
:type private_endpoint_connections:
list[~azure.mgmt.eventgrid.models.PrivateEndpointConnection]
:ivar provisioning_state: Provisioning state of the topic. Possible values
include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Canceled',
'Failed'
:vartype provisioning_state: str or
~azure.mgmt.eventgrid.models.TopicProvisioningState
:ivar endpoint: Endpoint for the topic.
:vartype endpoint: str
:param input_schema: This determines the format that Event Grid should
expect for incoming events published to the topic. Possible values
include: 'EventGridSchema', 'CustomEventSchema', 'CloudEventSchemaV1_0'.
Default value: "EventGridSchema" .
:type input_schema: str or ~azure.mgmt.eventgrid.models.InputSchema
:param 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.
:type input_schema_mapping:
~azure.mgmt.eventgrid.models.InputSchemaMapping
:ivar metric_resource_id: Metric resource id for the topic.
:vartype metric_resource_id: str
:param 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 <seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules"
/>. Possible values include: 'Enabled', 'Disabled'
:type public_network_access: str or
~azure.mgmt.eventgrid.models.PublicNetworkAccess
:param 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.
:type inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:param sku: The Sku pricing tier for the topic.
:type sku: ~azure.mgmt.eventgrid.models.ResourceSku
:param identity: Identity information for the resource.
:type identity: ~azure.mgmt.eventgrid.models.IdentityInfo
"""
_validation = {
'id': {'readonly': True},
'name': {'readonly': True},
'type': {'readonly': True},
'location': {'required': 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}'},
'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]'},
'sku': {'key': 'sku', 'type': 'ResourceSku'},
'identity': {'key': 'identity', 'type': 'IdentityInfo'},
}
def __init__(self, *, location: str, tags=None, private_endpoint_connections=None, input_schema="EventGridSchema", input_schema_mapping=None, public_network_access=None, inbound_ip_rules=None, sku=None, identity=None, **kwargs) -> None:
super(Topic, self).__init__(location=location, tags=tags, **kwargs)
self.private_endpoint_connections = private_endpoint_connections
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.sku = sku
self.identity = identity
[docs]class TopicRegenerateKeyRequest(Model):
"""Topic regenerate share access key request.
All required parameters must be populated in order to send to Azure.
:param key_name: Required. Key name to regenerate key1 or key2
:type key_name: str
"""
_validation = {
'key_name': {'required': True},
}
_attribute_map = {
'key_name': {'key': 'keyName', 'type': 'str'},
}
def __init__(self, *, key_name: str, **kwargs) -> None:
super(TopicRegenerateKeyRequest, self).__init__(**kwargs)
self.key_name = key_name
[docs]class TopicSharedAccessKeys(Model):
"""Shared access keys of the Topic.
:param key1: Shared access key1 for the topic.
:type key1: str
:param key2: Shared access key2 for the topic.
:type key2: str
"""
_attribute_map = {
'key1': {'key': 'key1', 'type': 'str'},
'key2': {'key': 'key2', 'type': 'str'},
}
def __init__(self, *, key1: str=None, key2: str=None, **kwargs) -> None:
super(TopicSharedAccessKeys, self).__init__(**kwargs)
self.key1 = key1
self.key2 = key2
[docs]class TopicTypeInfo(Resource):
"""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
:param provider: Namespace of the provider of the topic type.
:type provider: str
:param display_name: Display Name for the topic type.
:type display_name: str
:param description: Description of the topic type.
:type description: str
:param resource_region_type: Region type of the resource. Possible values
include: 'RegionalResource', 'GlobalResource'
:type resource_region_type: str or
~azure.mgmt.eventgrid.models.ResourceRegionType
:param provisioning_state: Provisioning state of the topic type. Possible
values include: 'Creating', 'Updating', 'Deleting', 'Succeeded',
'Canceled', 'Failed'
:type provisioning_state: str or
~azure.mgmt.eventgrid.models.TopicTypeProvisioningState
:param supported_locations: List of locations supported by this topic
type.
:type supported_locations: list[str]
:param source_resource_format: Source resource format.
:type source_resource_format: 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'},
'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'},
}
def __init__(self, *, provider: str=None, display_name: str=None, description: str=None, resource_region_type=None, provisioning_state=None, supported_locations=None, source_resource_format: str=None, **kwargs) -> None:
super(TopicTypeInfo, self).__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
[docs]class TopicUpdateParameters(Model):
"""Properties of the Topic update.
:param tags: Tags of the resource.
:type tags: dict[str, str]
:param identity: Resource identity information.
:type identity: ~azure.mgmt.eventgrid.models.IdentityInfo
:param 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 <seealso
cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicUpdateParameterProperties.InboundIpRules"
/>. Possible values include: 'Enabled', 'Disabled'
:type public_network_access: str or
~azure.mgmt.eventgrid.models.PublicNetworkAccess
:param 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.
:type inbound_ip_rules: list[~azure.mgmt.eventgrid.models.InboundIpRule]
:param sku: The Sku pricing tier for the topic.
:type sku: ~azure.mgmt.eventgrid.models.ResourceSku
"""
_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]'},
'sku': {'key': 'sku', 'type': 'ResourceSku'},
}
def __init__(self, *, tags=None, identity=None, public_network_access=None, inbound_ip_rules=None, sku=None, **kwargs) -> None:
super(TopicUpdateParameters, self).__init__(**kwargs)
self.tags = tags
self.identity = identity
self.public_network_access = public_network_access
self.inbound_ip_rules = inbound_ip_rules
self.sku = sku
[docs]class UserIdentityProperties(Model):
"""The information about the user identity.
:param principal_id: The principal id of user assigned identity.
:type principal_id: str
:param client_id: The client id of user assigned identity.
:type client_id: str
"""
_attribute_map = {
'principal_id': {'key': 'principalId', 'type': 'str'},
'client_id': {'key': 'clientId', 'type': 'str'},
}
def __init__(self, *, principal_id: str=None, client_id: str=None, **kwargs) -> None:
super(UserIdentityProperties, self).__init__(**kwargs)
self.principal_id = principal_id
self.client_id = client_id
[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.
:param endpoint_type: Required. Constant filled by server.
:type endpoint_type: str
:param endpoint_url: The URL that represents the endpoint of the
destination of an event subscription.
:type 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
:param max_events_per_batch: Maximum number of events per batch.
:type max_events_per_batch: int
:param preferred_batch_size_in_kilobytes: Preferred batch size in
Kilobytes.
:type preferred_batch_size_in_kilobytes: int
:param 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.
:type azure_active_directory_tenant_id: str
:param 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.
:type azure_active_directory_application_id_or_uri: str
"""
_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'},
}
def __init__(self, *, endpoint_url: str=None, max_events_per_batch: int=None, preferred_batch_size_in_kilobytes: int=None, azure_active_directory_tenant_id: str=None, azure_active_directory_application_id_or_uri: str=None, **kwargs) -> None:
super(WebHookEventSubscriptionDestination, self).__init__(**kwargs)
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.endpoint_type = 'WebHook'