Skip to content
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

EventGrid: Update 2020-04-01-preview swagger to include new properties per customer's feedback #9402

Merged
merged 4 commits into from
May 13, 2020
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5378,7 +5378,7 @@
"type": "object",
"properties": {
"name": {
"description": "the Sku name of the resource.\r\nthe possible values: Basic; Premium",
"description": "The Sku name of the resource. The possible values are: Basic or Premium.",
"enum": [
"Basic",
"Premium"
Expand Down Expand Up @@ -5896,9 +5896,33 @@
"modelAsString": true
}
},
"partnerTopicReadinessState": {
"description": "The readiness state of the corresponding partner topic.",
"enum": [
"NotActivatedByUserYet",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NotActivatedByUserYet [](start = 13, length = 21)

Do you need Yet at the end?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes.. We need it as separate case of Deactivated as we have separate behavior for this case than the case where partner topic is activated and then deactivated later.

"ActivatedByUser",
"DeactivatedByUser",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DeactivatedByUser [](start = 13, length = 17)

Are there an difference b/w this and NotActivated?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This corresponds to the mirrored partner topic state of being never activated yet and deactivated. The first case represents that the event channel was created by partner which in turns results in creating the partner topic in the user context. this topic needs to be activated by user within certain amount of time (7 days is the default if not specified by publisher0 otherwise it will be deleted.

This deletion behavior only happen if the topic is never activated ever to ensure the user is not surprised by such creation. But customer can come and activate the topic and later deactivate it. At this point, he is aware of the topic resource and no need to auto delete it

"DeletedByUser"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ByUse [](start = 20, length = 5)

Any reason for suffixing with ByUser?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The partner topic scenario involved two personas: publisher and customer or user. We need to differentiate between them in our resource lifecycle and we might add more reasons to that in the future.

],
"type": "string",
"readOnly": true,
"x-ms-enum": {
"name": "PartnerTopicReadinessState",
"modelAsString": true
}
},
"expirationTimeIfNotActivatedUtc": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expirationTimeIfNotActivatedUtc [](start = 9, length = 31)

Can this parameter name simplified as expirationTime? Add UTC in the description explaining what does it mean?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest reviewing all the parameters with the PM as this would be public facing contract.


In reply to: 423423487 [](ancestors = 423423487)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been reviewed internally. Thanks. and we would like to use it as is because we have different concept of expiration time in event subscription that is different from this partner topic activation expiration time. We need to differential and be specific. thanks

"format": "date-time",
"description": "Expiration time of the event channel. If this timer expires while the corresponding partner topic is never activated,\r\nthe event channel and corresponding partner topic are deleted.",
"type": "string"
},
"filter": {
"$ref": "#/definitions/EventChannelFilter",
"description": "Information about the filter for the event channel."
},
"partnerTopicFriendlyDescription": {
"description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.",
"type": "string"
}
}
},
Expand Down Expand Up @@ -5934,25 +5958,6 @@
"description": "Filter for the Event Channel.",
"type": "object",
"properties": {
"subjectBeginsWith": {
"description": "An optional string to filter events for an event channel based on a resource path prefix.\r\nThe format of this depends on the publisher of the events. Wildcard characters are not supported in this path.",
"type": "string"
},
"subjectEndsWith": {
"description": "An optional string to filter events for an event channel based on a resource path suffix.\r\nWildcard characters are not supported in this path.",
"type": "string"
},
"includedEventTypes": {
"description": "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": "array",
"items": {
"type": "string"
}
},
"isSubjectCaseSensitive": {
"description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter\r\nshould be compared in a case sensitive manner.",
"type": "boolean"
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is breaking change. Please share details on how it will not impact any customer.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We had dicussed this in IM and email.

"advancedFilters": {
"description": "An array of advanced filters that are used for filtering event channels.",
"type": "array",
Expand Down Expand Up @@ -7027,7 +7032,23 @@
"type": "string"
},
"partnerResourceTypeDescription": {
"description": "Description of the partner resource type.",
"description": "Short description of the partner resource type. The length of this description should not exceed 256 characters.",
"type": "string"
},
"longDescription": {
"description": "Long description for the custom scenarios and integration to be displayed in the portal if needed.\r\nLength of this description should not exceed 2048 characters.",
"type": "string"
},
"partnerCustomerServiceNumber": {
"description": "The customer service number of the publisher. The expected phone format should start with a '+' sign \r\nfollowed by the country code. The remaining digits are then followed. Only digits and spaces are allowed and its\r\nlength cannot exceed 16 digits including country code. Examples of valid phone numbers are: +1 515 123 4567 and\r\n+966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43",
"type": "string"
},
"partnerCustomerServiceExtension": {
"description": "The extension of the customer service number of the publisher. Only digits are allowed and number of digits should not exceed 10.",
"type": "string"
},
"customerServiceUri": {
"description": "The extension of the customer service URI of the publisher.",
"type": "string"
},
"setupUri": {
Expand Down Expand Up @@ -7209,6 +7230,11 @@
"description": "Source associated with this partner topic. This represents a unique partner resource.",
"type": "string"
},
"expirationTimeIfNotActivatedUtc": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expirationTimeIfNotActivatedUtc [](start = 9, length = 31)

same comment as above.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the suggestion. We need to keep it as is. Please refer to reason above.

"format": "date-time",
"description": "Expiration time of the partner topic. If this timer expires while the partner topic is still never activated,\r\nthe partner topic and corresponding event channel are deleted.",
"type": "string"
},
"provisioningState": {
"description": "Provisioning state of the partner topic.",
"enum": [
Expand Down Expand Up @@ -7238,6 +7264,10 @@
"name": "PartnerTopicActivationState",
"modelAsString": true
}
},
"partnerTopicFriendlyDescription": {
"description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.",
"type": "string"
}
}
},
Expand Down