Skip to content

Commit

Permalink
[Service Bus] CreateEntityOptions and restricted EntityResponse (#…
Browse files Browse the repository at this point in the history
…10049)

* new CreateQueueOptions and QueueResponse

* export from index.ts

* Update return type for buildQueue() method

* API report

* @ts-expect-error

* Make the params "required"

* add one more field to the test

* remove ListRequestOptions from index.ts

* make picking-omitting-xx logic clearer

* fix JsDoc

* Typo and update input is casted to any

* new proposal for Queue as Ramya suggested

* fill out topic and subscription

* Add status back to the CreateXXXOptions

* add to exports and update API report

* fix build failures in tests

* Duplicate EntityProperties for proper docs

* Helper fix - getRuleAction is never undefined

* CreateRuleOptions and RuleProperties

* Update docs and fix atom client with new RuleProps

* Fix update rule tests with getRule

* API Report

* Remove single method overloads for createEnitity methods with CreateXXXOptions

* fix tests

* API Report

* fix build failures

* New proposal for createRule

* fix test

* Update updatable properties for update methods

* resolve merge conflicts

* resolve merge conflicts

* overloads for createRule

* get files from master

* revert arm-service-bus

* fix test failures

* @ignore for CreateRuleOptions
  • Loading branch information
HarshaNalluru authored Aug 3, 2020
1 parent 19f9612 commit 4ac9823
Show file tree
Hide file tree
Showing 12 changed files with 679 additions and 320 deletions.
149 changes: 96 additions & 53 deletions sdk/servicebus/service-bus/review/service-bus.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,61 @@ export interface CreateBatchOptions extends OperationOptionsBase {
maxSizeInBytes?: number;
}

// @public
export interface CreateQueueOptions extends OperationOptions {
authorizationRules?: AuthorizationRule[];
autoDeleteOnIdle?: string;
deadLetteringOnMessageExpiration?: boolean;
defaultMessageTtl?: string;
duplicateDetectionHistoryTimeWindow?: string;
enableBatchedOperations?: boolean;
enablePartitioning?: boolean;
forwardDeadLetteredMessagesTo?: string;
forwardTo?: string;
lockDuration?: string;
maxDeliveryCount?: number;
maxSizeInMegabytes?: number;
requiresDuplicateDetection?: boolean;
requiresSession?: boolean;
status?: EntityStatus;
userMetadata?: string;
}

// @public
export interface CreateSessionReceiverOptions extends SessionReceiverOptions, OperationOptionsBase {
}

// @public
export interface CreateSubscriptionOptions extends OperationOptions {
autoDeleteOnIdle?: string;
deadLetteringOnFilterEvaluationExceptions?: boolean;
deadLetteringOnMessageExpiration?: boolean;
defaultMessageTtl?: string;
enableBatchedOperations?: boolean;
forwardDeadLetteredMessagesTo?: string;
forwardTo?: string;
lockDuration?: string;
maxDeliveryCount?: number;
requiresSession?: boolean;
status?: EntityStatus;
userMetadata?: string;
}

// @public
export interface CreateTopicOptions extends OperationOptions {
authorizationRules?: AuthorizationRule[];
autoDeleteOnIdle?: string;
defaultMessageTtl?: string;
duplicateDetectionHistoryTimeWindow?: string;
enableBatchedOperations?: boolean;
enablePartitioning?: boolean;
maxSizeInMegabytes?: number;
requiresDuplicateDetection?: boolean;
status?: EntityStatus;
supportOrdering?: boolean;
userMetadata?: string;
}

// @public
export interface DeadLetterOptions {
deadLetterErrorDescription: string;
Expand All @@ -78,12 +129,6 @@ export type EntityStatus = "Active" | "Creating" | "Deleting" | "ReceiveDisabled
export interface GetMessageIteratorOptions extends OperationOptionsBase, WaitTimeOptions {
}

// @public
export interface ListRequestOptions {
maxCount?: number;
skip?: number;
}

// @public
export interface MessageHandlerOptions {
autoComplete?: boolean;
Expand Down Expand Up @@ -126,22 +171,22 @@ export interface PeekMessagesOptions extends OperationOptionsBase {
// @public
export interface QueueProperties {
authorizationRules?: AuthorizationRule[];
autoDeleteOnIdle?: string;
deadLetteringOnMessageExpiration?: boolean;
defaultMessageTtl?: string;
duplicateDetectionHistoryTimeWindow?: string;
enableBatchedOperations?: boolean;
enablePartitioning?: boolean;
autoDeleteOnIdle: string;
deadLetteringOnMessageExpiration: boolean;
defaultMessageTtl: string;
duplicateDetectionHistoryTimeWindow: string;
enableBatchedOperations: boolean;
readonly enablePartitioning: boolean;
forwardDeadLetteredMessagesTo?: string;
forwardTo?: string;
lockDuration?: string;
maxDeliveryCount?: number;
maxSizeInMegabytes?: number;
name: string;
requiresDuplicateDetection?: boolean;
requiresSession?: boolean;
status?: EntityStatus;
userMetadata?: string;
lockDuration: string;
maxDeliveryCount: number;
maxSizeInMegabytes: number;
readonly name: string;
readonly requiresDuplicateDetection: boolean;
readonly requiresSession: boolean;
status: EntityStatus;
userMetadata: string;
}

// @public
Expand Down Expand Up @@ -225,9 +270,9 @@ export { RetryOptions }

// @public
export interface RuleProperties {
action?: SqlRuleAction;
filter?: SqlRuleFilter | CorrelationRuleFilter;
name: string;
action: SqlRuleAction;
filter: SqlRuleFilter | CorrelationRuleFilter;
readonly name: string;
}

// @public
Expand Down Expand Up @@ -283,13 +328,11 @@ export interface ServiceBusClientOptions {
export class ServiceBusManagementClient extends ServiceClient {
constructor(connectionString: string, options?: ServiceBusManagementClientOptions);
constructor(fullyQualifiedNamespace: string, credential: TokenCredential, options?: ServiceBusManagementClientOptions);
createQueue(queueName: string, operationOptions?: OperationOptions): Promise<QueueResponse>;
createQueue(queue: QueueProperties, operationOptions?: OperationOptions): Promise<QueueResponse>;
createRule(topicName: string, subscriptionName: string, rule: RuleProperties, operationOptions?: OperationOptions): Promise<RuleResponse>;
createSubscription(topicName: string, subscriptionName: string, operationOptions?: OperationOptions): Promise<SubscriptionResponse>;
createSubscription(subscription: SubscriptionProperties, operationOptions?: OperationOptions): Promise<SubscriptionResponse>;
createTopic(topicName: string, operationOptions?: OperationOptions): Promise<TopicResponse>;
createTopic(topic: TopicProperties, operationOptions?: OperationOptions): Promise<TopicResponse>;
createQueue(queueName: string, options?: CreateQueueOptions): Promise<QueueResponse>;
createRule(topicName: string, subscriptionName: string, ruleName: string, ruleFilter: SqlRuleFilter | CorrelationRuleFilter, operationOptions?: OperationOptions): Promise<RuleResponse>;
createRule(topicName: string, subscriptionName: string, ruleName: string, ruleFilter: SqlRuleFilter | CorrelationRuleFilter, ruleAction: SqlRuleAction, operationOptions?: OperationOptions): Promise<RuleResponse>;
createSubscription(topicName: string, subscriptionName: string, options?: CreateSubscriptionOptions): Promise<SubscriptionResponse>;
createTopic(topicName: string, options?: CreateTopicOptions): Promise<TopicResponse>;
deleteQueue(queueName: string, operationOptions?: OperationOptions): Promise<Response>;
deleteRule(topicName: string, subscriptionName: string, ruleName: string, operationOptions?: OperationOptions): Promise<Response>;
deleteSubscription(topicName: string, subscriptionName: string, operationOptions?: OperationOptions): Promise<Response>;
Expand Down Expand Up @@ -399,20 +442,20 @@ export interface SubscribeOptions extends OperationOptionsBase, MessageHandlerOp

// @public
export interface SubscriptionProperties {
autoDeleteOnIdle?: string;
deadLetteringOnFilterEvaluationExceptions?: boolean;
deadLetteringOnMessageExpiration?: boolean;
defaultMessageTtl?: string;
enableBatchedOperations?: boolean;
autoDeleteOnIdle: string;
deadLetteringOnFilterEvaluationExceptions: boolean;
deadLetteringOnMessageExpiration: boolean;
defaultMessageTtl: string;
enableBatchedOperations: boolean;
forwardDeadLetteredMessagesTo?: string;
forwardTo?: string;
lockDuration?: string;
maxDeliveryCount?: number;
requiresSession?: boolean;
status?: EntityStatus;
subscriptionName: string;
topicName: string;
userMetadata?: string;
lockDuration: string;
maxDeliveryCount: number;
readonly requiresSession: boolean;
status: EntityStatus;
readonly subscriptionName: string;
readonly topicName: string;
userMetadata: string;
}

// @public
Expand Down Expand Up @@ -444,17 +487,17 @@ export { TokenType }
// @public
export interface TopicProperties {
authorizationRules?: AuthorizationRule[];
autoDeleteOnIdle?: string;
defaultMessageTtl?: string;
duplicateDetectionHistoryTimeWindow?: string;
enableBatchedOperations?: boolean;
enablePartitioning?: boolean;
maxSizeInMegabytes?: number;
name: string;
requiresDuplicateDetection?: boolean;
status?: EntityStatus;
supportOrdering?: boolean;
userMetadata?: string;
autoDeleteOnIdle: string;
defaultMessageTtl: string;
duplicateDetectionHistoryTimeWindow: string;
enableBatchedOperations: boolean;
readonly enablePartitioning: boolean;
maxSizeInMegabytes: number;
readonly name: string;
readonly requiresDuplicateDetection: boolean;
status: EntityStatus;
supportOrdering: boolean;
userMetadata: string;
}

// @public
Expand Down
14 changes: 11 additions & 3 deletions sdk/servicebus/service-bus/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,21 +33,29 @@ export { Receiver } from "./receivers/receiver";
export { SessionReceiver } from "./receivers/sessionReceiver";
export { Sender } from "./sender";
export { NamespaceProperties } from "./serializers/namespaceResourceSerializer";
export { QueueProperties, QueueRuntimeProperties } from "./serializers/queueResourceSerializer";
export {
CreateQueueOptions,
QueueProperties,
QueueRuntimeProperties
} from "./serializers/queueResourceSerializer";
export {
RuleProperties,
SqlParameter,
SqlRuleAction,
SqlRuleFilter
} from "./serializers/ruleResourceSerializer";
export {
CreateSubscriptionOptions,
SubscriptionProperties,
SubscriptionRuntimeProperties
} from "./serializers/subscriptionResourceSerializer";
export { TopicProperties, TopicRuntimeProperties } from "./serializers/topicResourceSerializer";
export {
CreateTopicOptions,
TopicProperties,
TopicRuntimeProperties
} from "./serializers/topicResourceSerializer";
export {
EntitiesResponse,
ListRequestOptions,
NamespacePropertiesResponse,
QueueResponse,
QueueRuntimePropertiesResponse,
Expand Down
Loading

0 comments on commit 4ac9823

Please sign in to comment.