-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate API view for management client #11817
Comments
@JoshLove-msft would it be possible to provide more context in the issue description? Thank you. |
Sure, this is an internal tool that we use to generate an API skeleton for a package. Once this is done we can probably paste in the skeleton to this issue. |
Here is the proposed Track 2 API. It is very similar to Track 1, with the main differences being renaming and supporting the Track 2 Azure.Identity TokenCredential. Notable renames: (Queue|Topic|Subscription)RuntimeInfo->(Queue|Topic|Subscription)Metrics namespace Azure.Messaging.ServiceBus.Management {
public class ServiceBusManagementClient
{
public ServiceBusManagementClient(string connectionString);
public ServiceBusManagementClient(string connectionString, ServiceBusManagementClientOptions options);
public ServiceBusManagementClient(string fullyQualifiedNamespace, TokenCredential credential);
public ServiceBusManagementClient(string fullyQualifiedNamespace, TokenCredential credential, ServiceBusManagementClientOptions options);
protected ServiceBusManagementClient();
public virtual Task<QueueProperties> CreateQueueAsync(string queueName, CancellationToken cancellationToken = default);
public virtual Task<QueueProperties> CreateQueueAsync(QueueProperties queue, CancellationToken cancellationToken = default);
public virtual Task<RuleProperties> CreateRuleAsync(string topicName, string subscriptionName, RuleProperties rule, CancellationToken cancellationToken = default);
public virtual Task<SubscriptionProperties> CreateSubscriptionAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<SubscriptionProperties> CreateSubscriptionAsync(SubscriptionProperties subscription, CancellationToken cancellationToken = default);
public virtual Task<SubscriptionProperties> CreateSubscriptionAsync(SubscriptionProperties subscription, RuleProperties rule, CancellationToken cancellationToken = default);
public virtual Task<TopicProperties> CreateTopicAsync(string topicName, CancellationToken cancellationToken = default);
public virtual Task<TopicProperties> CreateTopicAsync(TopicProperties topic, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteQueueAsync(string queueName, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteRuleAsync(string topicName, string subscriptionName, string ruleName, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteSubscriptionAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteTopicAsync(string topicName, CancellationToken cancellationToken = default);
public virtual Task<NamespaceProperties> GetNamespacePropertiesAsync(CancellationToken cancellationToken = default);
public virtual Task<QueueProperties> GetQueueAsync(string queueName, CancellationToken cancellationToken = default);
public virtual Task<QueueMetrics> GetQueueMetricsAsync(string queueName, CancellationToken cancellationToken = default);
public virtual Task<IList<QueueProperties>> GetQueuesAsync(int maxCount = 100, int skip = 0, CancellationToken cancellationToken = default);
public virtual Task<IList<QueueMetrics>> GetQueuesMetricsAsync(int maxCount = 100, int skip = 0, CancellationToken cancellationToken = default);
public virtual Task<RuleProperties> GetRuleAsync(string topicName, string subscriptionName, string ruleName, CancellationToken cancellationToken = default);
public virtual Task<IList<RuleProperties>> GetRulesAsync(string topicName, string subscriptionName, int maxCount = 100, int skip = 0, CancellationToken cancellationToken = default);
public virtual Task<SubscriptionProperties> GetSubscriptionAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<SubscriptionMetrics> GetSubscriptionMetricsAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<IList<SubscriptionProperties>> GetSubscriptionsAsync(string topicName, int maxCount = 100, int skip = 0, CancellationToken cancellationToken = default);
public virtual Task<IList<SubscriptionMetrics>> GetSubscriptionsMetricsAsync(string topicName, int maxCount = 100, int skip = 0, CancellationToken cancellationToken = default);
public virtual Task<TopicProperties> GetTopicAsync(string topicName, CancellationToken cancellationToken = default);
public virtual Task<TopicMetrics> GetTopicMetricsAsync(string topicName, CancellationToken cancellationToken = default);
public virtual Task<IList<TopicProperties>> GetTopicsAsync(int maxCount = 100, int skip = 0, CancellationToken cancellationToken = default);
public virtual Task<IList<TopicMetrics>> GetTopicsMetricsAsync(int maxCount = 100, int skip = 0, CancellationToken cancellationToken = default);
public virtual Task<bool> QueueExistsAsync(string queueName, CancellationToken cancellationToken = default);
public virtual Task<bool> SubscriptionExistsAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<bool> TopicExistsAsync(string topicName, CancellationToken cancellationToken = default);
public virtual Task<QueueProperties> UpdateQueueAsync(QueueProperties queue, CancellationToken cancellationToken = default);
public virtual Task<RuleProperties> UpdateRuleAsync(string topicName, string subscriptionName, RuleProperties rule, CancellationToken cancellationToken = default);
public virtual Task<SubscriptionProperties> UpdateSubscriptionAsync(SubscriptionProperties subscription, CancellationToken cancellationToken = default);
public virtual Task<TopicProperties> UpdateTopicAsync(TopicProperties topic, CancellationToken cancellationToken = default);
}
public class ServiceBusManagementClientOptions : ClientOptions
{
public ServiceBusManagementClientOptions();
public override bool Equals(object obj);
public override int GetHashCode();
public override string ToString();
}
public abstract class AuthorizationRule : IEquatable<AuthorizationRule>
{
public abstract string ClaimType { get; }
public DateTimeOffset CreatedTime { get; }
public abstract string KeyName { get; set; }
public DateTimeOffset ModifiedTime { get; }
public abstract List<AccessRights> Rights { get; set; }
public abstract bool Equals(AuthorizationRule other);
}
public class AuthorizationRules : List<AuthorizationRule>, IEquatable<AuthorizationRules>
{
public AuthorizationRules();
public static bool operator ==(AuthorizationRules left, AuthorizationRules right);
public static bool operator !=(AuthorizationRules left, AuthorizationRules right);
public bool Equals(AuthorizationRules other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public class MessageCountDetails
{
public MessageCountDetails();
public long ActiveMessageCount { get; }
public long DeadLetterMessageCount { get; }
public long ScheduledMessageCount { get; }
public long TransferDeadLetterMessageCount { get; }
public long TransferMessageCount { get; }
}
public class NamespaceProperties
{
public NamespaceProperties();
public string Alias { get; }
public DateTimeOffset CreatedTime { get; }
public MessagingSku MessagingSku { get; }
public int MessagingUnits { get; }
public DateTimeOffset ModifiedTime { get; }
public string Name { get; }
public NamespaceType NamespaceType { get; }
}
public class QueueMetrics
{
public DateTimeOffset AccessedAt { get; }
public DateTimeOffset CreatedAt { get; }
public long MessageCount { get; }
public MessageCountDetails MessageCountDetails { get; }
public string QueueName { get; }
public long SizeInBytes { get; }
public DateTimeOffset UpdatedAt { get; }
}
public class QueueProperties : IEquatable<QueueProperties>
{
public QueueProperties(string queueName);
public AuthorizationRules AuthorizationRules { get; }
public TimeSpan AutoDeleteOnIdle { get; set; }
public TimeSpan DefaultMessageTimeToLive { get; set; }
public TimeSpan DuplicateDetectionHistoryTimeWindow { get; set; }
public bool EnableBatchedOperations { get; set; }
public bool EnableDeadLetteringOnMessageExpiration { get; set; }
public bool EnablePartitioning { get; set; }
public string ForwardDeadLetteredMessagesTo { get; set; }
public string ForwardTo { get; set; }
public TimeSpan LockDuration { get; set; }
public int MaxDeliveryCount { get; set; }
public long MaxSizeInMB { get; set; }
public string QueueName { get; set; }
public bool RequiresDuplicateDetection { get; set; }
public bool RequiresSession { get; set; }
public EntityStatus Status { get; set; }
public string UserMetadata { get; set; }
public static bool operator ==(QueueProperties left, QueueProperties right);
public static bool operator !=(QueueProperties left, QueueProperties right);
public bool Equals(QueueProperties other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public class SharedAccessAuthorizationRule : AuthorizationRule
{
public SharedAccessAuthorizationRule(string keyName, IEnumerable<AccessRights> rights);
public SharedAccessAuthorizationRule(string keyName, string primaryKey, IEnumerable<AccessRights> rights);
public SharedAccessAuthorizationRule(string keyName, string primaryKey, string secondaryKey, IEnumerable<AccessRights> rights);
public override string ClaimType { get; }
public override sealed string KeyName { get; set; }
public string PrimaryKey { get; set; }
public override List<AccessRights> Rights { get; set; }
public string SecondaryKey { get; set; }
public static bool operator ==(SharedAccessAuthorizationRule left, public static bool operator !=(SharedAccessAuthorizationRule left, SharedAccessAuthorizationRule right);
public override bool Equals(AuthorizationRule other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public class SubscriptionMetrics
{
public DateTimeOffset AccessedAt { get; }
public DateTimeOffset CreatedAt { get; }
public long MessageCount { get; }
public MessageCountDetails MessageCountDetails { get; }
public string SubscriptionName { get; }
public string TopicName { get; }
public DateTimeOffset UpdatedAt { get; }
}
public class SubscriptionProperties : IEquatable<SubscriptionProperties>
{
public SubscriptionProperties(string topicName, string subscriptionName);
public TimeSpan AutoDeleteOnIdle { get; set; }
public TimeSpan DefaultMessageTimeToLive { get; set; }
public bool EnableBatchedOperations { get; set; }
public bool EnableDeadLetteringOnFilterEvaluationExceptions { get; set; }
public bool EnableDeadLetteringOnMessageExpiration { get; set; }
public string ForwardDeadLetteredMessagesTo { get; set; }
public string ForwardTo { get; set; }
public TimeSpan LockDuration { get; set; }
public int MaxDeliveryCount { get; set; }
public bool RequiresSession { get; set; }
public EntityStatus Status { get; set; }
public string SubscriptionName { get; set; }
public string TopicName { get; set; }
public string UserMetadata { get; set; }
public static bool operator ==(SubscriptionProperties left, SubscriptionProperties right);
public static bool operator !=(SubscriptionProperties left, SubscriptionProperties right);
public bool Equals(SubscriptionProperties other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public class TopicMetrics
{
public DateTimeOffset AccessedAt { get; }
public DateTimeOffset CreatedAt { get; }
public MessageCountDetails MessageCountDetails { get; }
public long SizeInBytes { get; }
public int SubscriptionCount { get; }
public string TopicName { get; }
public DateTimeOffset UpdatedAt { get; }
}
public class TopicProperties : IEquatable<TopicProperties>
{
public TopicProperties(string topicName);
public AuthorizationRules AuthorizationRules { get; }
public TimeSpan AutoDeleteOnIdle { get; set; }
public TimeSpan DefaultMessageTimeToLive { get; set; }
public TimeSpan DuplicateDetectionHistoryTimeWindow { get; set; }
public bool EnableBatchedOperations { get; set; }
public bool EnablePartitioning { get; set; }
public long MaxSizeInMB { get; set; }
public bool RequiresDuplicateDetection { get; set; }
public EntityStatus Status { get; set; }
public bool SupportOrdering { get; set; }
public string TopicName { get; set; }
public string UserMetadata { get; set; }
public static bool operator ==(TopicProperties left, TopicProperties right);
ic static bool operator !=(TopicProperties left, TopicProperties t);
public bool Equals(TopicProperties other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public enum AccessRights
{
Manage = 0,
Send = 1,
Listen = 2,
}
public enum EntityStatus
{
[EnumMember]
Active = 0,
[EnumMember]
Disabled = 1,
[EnumMember]
SendDisabled = 3,
[EnumMember]
ReceiveDisabled = 4,
[EnumMember]
Unknown = 99,
}
public enum MessagingSku
{
Basic = 1,
Standard = 2,
Premium = 3,
Others = 99,
}
public enum NamespaceType
{
ServiceBus = 0,
Mixed = 2,
Others = 99,
}
} |
A few items:
|
|
@JoshLove-msft, you did not answer #4. Implementation is detail. My comment was that for anything that is not a known value should throw an exception and |
The idea behind using extensible enums is that if the service adds support for a new value, we can handle it to the best of our ability without requiring an SDK update. So we wouldn't throw an exception, as if another value comes back from the service, we assume that it is valid. |
I think I'm failing to explain myself here. Let me try in a different way.
For example, |
|
There ended up being a few more changes to the API from what was initially added here: namespace Azure.Messaging.ServiceBus.Management {
public class ServiceBusManagementClient {
public ServiceBusManagementClient(string connectionString);
public ServiceBusManagementClient(string connectionString, ServiceBusManagementClientOptions options);
public ServiceBusManagementClient(string fullyQualifiedNamespace, TokenCredential credential);
public ServiceBusManagementClient(string fullyQualifiedNamespace, TokenCredential credential, ServiceBusManagementClientOptions options);
protected ServiceBusManagementClient();
public virtual Task<Response<QueueDescription>> CreateQueueAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response<QueueDescription>> CreateQueueAsync(QueueDescription queue, CancellationToken cancellationToken = default);
public virtual Task<Response<RuleDescription>> CreateRuleAsync(string topicName, string subscriptionName, RuleDescription rule, CancellationToken cancellationToken = default);
public virtual Task<Response<SubscriptionDescription>> CreateSubscriptionAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<Response<SubscriptionDescription>> CreateSubscriptionAsync(SubscriptionDescription subscription, CancellationToken cancellationToken = default);
public virtual Task<Response<SubscriptionDescription>> CreateSubscriptionAsync(SubscriptionDescription subscription, RuleDescription rule, CancellationToken cancellationToken = default);
public virtual Task<Response<TopicDescription>> CreateTopicAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response<TopicDescription>> CreateTopicAsync(TopicDescription topic, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteQueueAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteRuleAsync(string topicName, string subscriptionName, string ruleName, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteSubscriptionAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<Response> DeleteTopicAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response<NamespaceProperties>> GetNamespacePropertiesAsync(CancellationToken cancellationToken = default);
public virtual Task<Response<QueueDescription>> GetQueueAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response<QueueRuntimeInfo>> GetQueueRuntimeInfoAsync(string name, CancellationToken cancellationToken = default);
public virtual AsyncPageable<QueueDescription> GetQueuesAsync(CancellationToken cancellationToken = default);
public virtual AsyncPageable<QueueRuntimeInfo> GetQueuesRuntimeInfoAsync(CancellationToken cancellationToken = default);
public virtual Task<Response<RuleDescription>> GetRuleAsync(string topicName, string subscriptionName, string ruleName, CancellationToken cancellationToken = default);
public virtual AsyncPageable<RuleDescription> GetRulesAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<Response<SubscriptionDescription>> GetSubscriptionAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<Response<SubscriptionRuntimeInfo>> GetSubscriptionRuntimeInfoAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual AsyncPageable<SubscriptionDescription> GetSubscriptionsAsync(string topicName, CancellationToken cancellationToken = default);
public virtual AsyncPageable<SubscriptionRuntimeInfo> GetSubscriptionsRuntimeInfoAsync(string topicName, CancellationToken cancellationToken = default);
public virtual Task<Response<TopicDescription>> GetTopicAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response<TopicRuntimeInfo>> GetTopicRuntimeInfoAsync(string name, CancellationToken cancellationToken = default);
public virtual AsyncPageable<TopicDescription> GetTopicsAsync(CancellationToken cancellationToken = default);
public virtual AsyncPageable<TopicRuntimeInfo> GetTopicsRuntimeInfoAsync(CancellationToken cancellationToken = default);
public virtual Task<Response<bool>> QueueExistsAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response<bool>> RuleExistsAsync(string topicName, string subscriptionName, string ruleName, CancellationToken cancellationToken = default);
public virtual Task<Response<bool>> SubscriptionExistsAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default);
public virtual Task<Response<bool>> TopicExistsAsync(string name, CancellationToken cancellationToken = default);
public virtual Task<Response<QueueDescription>> UpdateQueueAsync(QueueDescription queue, CancellationToken cancellationToken = default);
public virtual Task<Response<RuleDescription>> UpdateRuleAsync(string topicName, string subscriptionName, RuleDescription rule, CancellationToken cancellationToken = default);
public virtual Task<Response<SubscriptionDescription>> UpdateSubscriptionAsync(SubscriptionDescription subscription, CancellationToken cancellationToken = default);
public virtual Task<Response<TopicDescription>> UpdateTopicAsync(TopicDescription topic, CancellationToken cancellationToken = default);
}
public class ServiceBusManagementClientOptions : ClientOptions {
public ServiceBusManagementClientOptions();
public override bool Equals(object obj);
public override int GetHashCode();
public override string ToString();
}
public abstract class AuthorizationRule : IEquatable<AuthorizationRule> {
public abstract string ClaimType { get; }
public DateTimeOffset CreatedTime { get; }
public abstract string KeyName { get; set; }
public DateTimeOffset ModifiedTime { get; }
public abstract List<AccessRights> Rights { get; set; }
public abstract bool Equals(AuthorizationRule other);
public override abstract bool Equals(object obj);
public override int GetHashCode();
}
public class AuthorizationRules : List<AuthorizationRule>, IEquatable<AuthorizationRules> {
public AuthorizationRules();
public static bool operator ==(AuthorizationRules left, AuthorizationRules right);
public static bool operator !=(AuthorizationRules left, AuthorizationRules right);
public bool Equals(AuthorizationRules other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public sealed class CorrelationRuleFilter : RuleFilter {
public CorrelationRuleFilter();
public CorrelationRuleFilter(string correlationId);
public string ContentType { get; set; }
public string CorrelationId { get; set; }
public string Label { get; set; }
public string MessageId { get; set; }
public IDictionary<string, object> Properties { get; }
public string ReplyTo { get; set; }
public string ReplyToSessionId { get; set; }
public string SessionId { get; set; }
public string To { get; set; }
public static bool operator ==(CorrelationRuleFilter left, CorrelationRuleFilter right);
public static bool operator !=(CorrelationRuleFilter left, CorrelationRuleFilter right);
public override bool Equals(object obj);
public override bool Equals(RuleFilter other);
public override int GetHashCode();
public override string ToString();
}
public readonly struct EntityStatus : IEquatable<EntityStatus> {
public EntityStatus(string value);
public static EntityStatus Active { get; }
public static EntityStatus Disable { get; }
public static EntityStatus ReceiveDisabled { get; }
public static EntityStatus SendDisabled { get; }
public static bool operator ==(EntityStatus left, EntityStatus right);
public static implicit operator EntityStatus(string value);
public static bool operator !=(EntityStatus left, EntityStatus right);
public bool Equals(EntityStatus other);
public override bool Equals(object obj);
public override int GetHashCode();
public override string ToString();
}
public sealed class FalseRuleFilter : SqlRuleFilter {
public FalseRuleFilter();
public static bool operator ==(FalseRuleFilter left, FalseRuleFilter right);
public static bool operator !=(FalseRuleFilter left, FalseRuleFilter right);
public override bool Equals(object obj);
public override bool Equals(RuleFilter other);
public override int GetHashCode();
public override string ToString();
}
public class MessageCountDetails {
public MessageCountDetails();
public long ActiveMessageCount { get; }
public long DeadLetterMessageCount { get; }
public long ScheduledMessageCount { get; }
public long TransferDeadLetterMessageCount { get; }
public long TransferMessageCount { get; }
}
public readonly struct MessagingSku : IEquatable<MessagingSku> {
public MessagingSku(string value);
public static MessagingSku Basic { get; }
public static MessagingSku Premium { get; }
public static MessagingSku Standard { get; }
public static bool operator ==(MessagingSku left, MessagingSku right);
public static implicit operator MessagingSku(string value);
public static bool operator !=(MessagingSku left, MessagingSku right);
public bool Equals(MessagingSku other);
public override bool Equals(object obj);
public override int GetHashCode();
public override string ToString();
}
public class NamespaceProperties {
public NamespaceProperties();
public string Alias { get; }
public DateTimeOffset CreatedTime { get; }
public MessagingSku MessagingSku { get; }
public int MessagingUnits { get; }
public DateTimeOffset ModifiedTime { get; }
public string Name { get; }
}
public class QueueDescription : IEquatable<QueueDescription> {
public QueueDescription(string name);
public AuthorizationRules AuthorizationRules { get; }
public TimeSpan AutoDeleteOnIdle { get; set; }
public bool DeadLetteringOnMessageExpiration { get; set; }
public TimeSpan DefaultMessageTimeToLive { get; set; }
public TimeSpan DuplicateDetectionHistoryTimeWindow { get; set; }
public bool EnableBatchedOperations { get; set; }
public bool EnablePartitioning { get; set; }
public string ForwardDeadLetteredMessagesTo { get; set; }
public string ForwardTo { get; set; }
public TimeSpan LockDuration { get; set; }
public int MaxDeliveryCount { get; set; }
public long MaxSizeInMegabytes { get; set; }
public string Name { get; set; }
public bool RequiresDuplicateDetection { get; set; }
public bool RequiresSession { get; set; }
public EntityStatus Status { get; set; }
public string UserMetadata { get; set; }
public static bool operator ==(QueueDescription left, QueueDescription right);
public static bool operator !=(QueueDescription left, QueueDescription right);
public bool Equals(QueueDescription other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public class QueueRuntimeInfo {
public DateTimeOffset AccessedAt { get; }
public MessageCountDetails CountDetails { get; }
public DateTimeOffset CreatedAt { get; }
public long MessageCount { get; }
public string Name { get; }
public long SizeInBytes { get; }
public DateTimeOffset UpdatedAt { get; }
}
public abstract class RuleAction : IEquatable<RuleAction> {
public abstract bool Equals(RuleAction other);
public override abstract bool Equals(object obj);
public override int GetHashCode();
}
public sealed class RuleDescription : IEquatable<RuleDescription> {
public RuleDescription();
public RuleDescription(string name);
public RuleDescription(string name, RuleFilter filter);
public const string DefaultRuleName = "$Default";
public RuleAction Action { get; set; }
public RuleFilter Filter { get; set; }
public string Name { get; set; }
public static bool operator ==(RuleDescription left, RuleDescription right);
public static bool operator !=(RuleDescription left, RuleDescription right);
public bool Equals(RuleDescription other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public abstract class RuleFilter : IEquatable<RuleFilter> {
public abstract bool Equals(RuleFilter other);
public override abstract bool Equals(object obj);
public override int GetHashCode();
}
public class SharedAccessAuthorizationRule : AuthorizationRule {
public SharedAccessAuthorizationRule(string keyName, IEnumerable<AccessRights> rights);
public SharedAccessAuthorizationRule(string keyName, string primaryKey, IEnumerable<AccessRights> rights);
public SharedAccessAuthorizationRule(string keyName, string primaryKey, string secondaryKey, IEnumerable<AccessRights> rights);
public override string ClaimType { get; }
public override sealed string KeyName { get; set; }
public string PrimaryKey { get; set; }
public override List<AccessRights> Rights { get; set; }
public string SecondaryKey { get; set; }
public static bool operator ==(SharedAccessAuthorizationRule left, SharedAccessAuthorizationRule right);
public static bool operator !=(SharedAccessAuthorizationRule left, SharedAccessAuthorizationRule right);
public override bool Equals(object obj);
public override bool Equals(AuthorizationRule other);
public override int GetHashCode();
}
public sealed class SqlRuleAction : RuleAction {
public SqlRuleAction(string sqlExpression);
public IDictionary<string, object> Parameters { get; }
public string SqlExpression { get; }
public static bool operator ==(SqlRuleAction left, SqlRuleAction right);
public static bool operator !=(SqlRuleAction left, SqlRuleAction right);
public override bool Equals(object obj);
public override bool Equals(RuleAction other);
public override int GetHashCode();
public override string ToString();
}
public class SqlRuleFilter : RuleFilter {
public SqlRuleFilter(string sqlExpression);
public IDictionary<string, object> Parameters { get; }
public string SqlExpression { get; }
public static bool operator ==(SqlRuleFilter left, SqlRuleFilter right);
public static bool operator !=(SqlRuleFilter left, SqlRuleFilter right);
public override bool Equals(object obj);
public override bool Equals(RuleFilter other);
public override int GetHashCode();
public override string ToString();
}
public class SubscriptionDescription : IEquatable<SubscriptionDescription> {
public SubscriptionDescription(string topicName, string subscriptionName);
public TimeSpan AutoDeleteOnIdle { get; set; }
public bool DeadLetteringOnMessageExpiration { get; set; }
public TimeSpan DefaultMessageTimeToLive { get; set; }
public bool EnableBatchedOperations { get; set; }
public bool EnableDeadLetteringOnFilterEvaluationExceptions { get; set; }
public string ForwardDeadLetteredMessagesTo { get; set; }
public string ForwardTo { get; set; }
public TimeSpan LockDuration { get; set; }
public int MaxDeliveryCount { get; set; }
public bool RequiresSession { get; set; }
public EntityStatus Status { get; set; }
public string SubscriptionName { get; set; }
public string TopicName { get; set; }
public string UserMetadata { get; set; }
public static bool operator ==(SubscriptionDescription left, SubscriptionDescription right);
public static bool operator !=(SubscriptionDescription left, SubscriptionDescription right);
public bool Equals(SubscriptionDescription other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public class SubscriptionRuntimeInfo {
public DateTimeOffset AccessedAt { get; }
public MessageCountDetails CountDetails { get; }
public DateTimeOffset CreatedAt { get; }
public long MessageCount { get; }
public string SubscriptionName { get; }
public string TopicName { get; }
public DateTimeOffset UpdatedAt { get; }
}
public class TopicDescription : IEquatable<TopicDescription> {
public TopicDescription(string name);
public AuthorizationRules AuthorizationRules { get; }
public TimeSpan AutoDeleteOnIdle { get; set; }
public TimeSpan DefaultMessageTimeToLive { get; set; }
public TimeSpan DuplicateDetectionHistoryTimeWindow { get; set; }
public bool EnableBatchedOperations { get; set; }
public bool EnablePartitioning { get; set; }
public long MaxSizeInMegabytes { get; set; }
public string Name { get; set; }
public bool RequiresDuplicateDetection { get; set; }
public EntityStatus Status { get; set; }
public bool SupportOrdering { get; set; }
public string UserMetadata { get; set; }
public static bool operator ==(TopicDescription left, TopicDescription right);
public static bool operator !=(TopicDescription left, TopicDescription right);
public bool Equals(TopicDescription other);
public override bool Equals(object obj);
public override int GetHashCode();
}
public class TopicRuntimeInfo {
public DateTimeOffset AccessedAt { get; }
public DateTimeOffset CreatedAt { get; }
public string Name { get; }
public long SizeInBytes { get; }
public int SubscriptionCount { get; }
public DateTimeOffset UpdatedAt { get; }
}
public sealed class TrueRuleFilter : SqlRuleFilter {
public TrueRuleFilter();
public static bool operator ==(TrueRuleFilter left, TrueRuleFilter right);
public static bool operator !=(TrueRuleFilter left, TrueRuleFilter right);
public override bool Equals(object obj);
public override bool Equals(RuleFilter other);
public override int GetHashCode();
public override string ToString();
}
public enum AccessRights {
Manage = 0,
Send = 1,
Listen = 2,
}
} |
Leaving this issue open to track any additional API changes we make before GA. |
Closing as the ServiceBusAdministrationClient is now GA. |
#7726
We can use this as a base to work from.
Paste in the skeleton here so that it can be viewed outside of API View.
The text was updated successfully, but these errors were encountered: