-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
WebApps - Add BackupName to backup API models #3560
Conversation
…n Backup API models
Can one of the admins verify this patch? |
Automation for azure-sdk-for-pythonThe initial PR has been merged into your service PR: |
Automation for azure-sdk-for-rubyNothing to generate for azure-sdk-for-ruby |
Automation for azure-sdk-for-goThe initial PR has been merged into your service PR: |
Automation for azure-sdk-for-javaThe initial PR has been merged into your service PR: |
Automation for azure-sdk-for-nodeA PR has been created for you based on this PR content. Once this PR will be merged, content will be added to your service PR: |
Context: The type "BackupItem" has a "name" property in addition to the one it inherit from the it's base type "ProxyOnlyResource". This PR re-names the derived type's "name" property to "backupName". From SDK side, when a type that derive from ARM base type has a property name conflicting with property from the base type, code-generator renames derived type's property. In this case a prefix "BackItem" will be used, so the property name become "BackupItemName". e.g. Java, C-Sharp. The changes in this PR is a breaking change, hence generated SDK's version needs to be bumpedup accordingly. This is breaking change from the REST API side as well (Renaming property name in a stable api-version). hence requesting ARM review here. |
We are ok with making a breaking SDK change. We have to make a major version update anyway. This PR was actually intended to make a workaround for other breaking changes, since the "name" property has already been removed from BackupRequest in an earlier PR. I made the same change to BackupItem here so that it will have the same workaround as BackupRequest. |
@Nking92 thanks for providing more info. Could you share the previously merged PR which fixes the same |
Hi @anuchandy, I checked and the For my change here where I removed |
thanks @Nking92. I see that BackupRequest::name property in previous api-version got removed when the new api-verison 2018-02-01 was introduced. In this PR we have two changes: @ravbhatnagar can you please take a look from ARM side? |
… fine in place of BackupName for now.
@anuchandy I reviewed code that uses our SDKs and determined that I won't need to change the |
@Nking92 - this change should go in a new api-version. It can cause unintentional changes when used with strongly typed SDKs which will ignore the properties it doesnt understand. |
@ravbhatnagar Thanks for the review. Would only adding a new property for |
@Nking92 - I was referring to that change only in my earlier comment. Take the case where this property was exposed in the current api-version and got set using the portal. And earlier version of the client SDK which is tied to the current api-version GETs the resource, makes some other changes to the properties, and PUTs the resource back. Now since the SDK did not understand this property, it will ignore it on the GET. And so this property wont be present in the request body on the PUT. Now your service may wipe the earlier set value of this property since it was not present in the request. |
thank you @ravbhatnagar. @Nking92 let me know if you still want to make this change in the existing api version. As Gaurav pointed this change can cause existing SDK to behave differently than it used to be (of course depending on whether the service overwrite or ignore the value during PUT). |
@anuchandy I did some testing and I think we'll be ok. If the new property isn't present in the PUT request, the API will use the old property as expected. The new property does take precedence over the old property when it is present, though. Signing off with OK to merge |
@anuchandy can you please merge this PR please - we want to get our SDK changes rolling as well & we need this PR to be merged. Thank you. |
* Swagger Coverage/Completeness- for operation CheckNameAvailability (#3663) * Update service.json * CheckNameAvailability * FIxed Parameter name fixed couple of parameters name * Update dns management Node.js version number to 3.0.0 (#3675) * Update batchai Node.js package version to 2.0.2 (#3664) * Update nofiticationhubs management Node.js package version to 2.0.0 (#3665) * WebApps - Add BackupName to backup API models (#3560) * WebApps - Add BackupName to replace non-ARM-compliant Name property on Backup API models * Revert breaking change to BackupItem. BackupItemName property will be fine in place of BackupName for now. * Update authorization management Node.js package version to 5.0.1 (#3676) * Update storagesync management Node.js package version to 1.0.0 (#3677) * add checknameavailability (#3608) * add checknameavailability * move checkname parameter to definition section * fix brackets * fix parameter name in checknameavailability exanple * update code owners for PowerBIDedicated * New Batch data plane API version 2018-08-01.7.0 (#3657) * Add new batch version 2018-08-01.7.0 * Update the new API * Fix up output from OAD, it does not output valid JSON * update OAV (#3678) * Update storage management Node.js package version to 5.2.0 (#3679) * Update compute.json and disk.json for some issues and add zone and rolling upgrade. (#3642) * Breaking change tool correctly handles multiple files with same name * Fix to breaking changes table generation * Trusted Root certificate (#3668)
* Trusted Root certificate (#3668) * Rebased master to monthly network branch (#3687) * Swagger Coverage/Completeness- for operation CheckNameAvailability (#3663) * Update service.json * CheckNameAvailability * FIxed Parameter name fixed couple of parameters name * Update dns management Node.js version number to 3.0.0 (#3675) * Update batchai Node.js package version to 2.0.2 (#3664) * Update nofiticationhubs management Node.js package version to 2.0.0 (#3665) * WebApps - Add BackupName to backup API models (#3560) * WebApps - Add BackupName to replace non-ARM-compliant Name property on Backup API models * Revert breaking change to BackupItem. BackupItemName property will be fine in place of BackupName for now. * Update authorization management Node.js package version to 5.0.1 (#3676) * Update storagesync management Node.js package version to 1.0.0 (#3677) * add checknameavailability (#3608) * add checknameavailability * move checkname parameter to definition section * fix brackets * fix parameter name in checknameavailability exanple * update code owners for PowerBIDedicated * New Batch data plane API version 2018-08-01.7.0 (#3657) * Add new batch version 2018-08-01.7.0 * Update the new API * Fix up output from OAD, it does not output valid JSON * update OAV (#3678) * Update storage management Node.js package version to 5.2.0 (#3679) * Update compute.json and disk.json for some issues and add zone and rolling upgrade. (#3642) * Breaking change tool correctly handles multiple files with same name * Fix to breaking changes table generation * Trusted Root certificate (#3668) * Updated Microsoft.Network version to 2018-08-01 (#3672) * Adds base for updating Microsoft.Network from version stable/2018-07-01 to version 2018-08-01 * Updates readme * Updates API version in new specs and examples * Added AddressPrefixes on Subnet properties (#3714) * Added address prefixes to subnet * Added example of multiple address prefixes. * Python Network conf 2018-08-01 * Changes to include required properties for outbound rule (#3728) * Mark outbound rule properties as required * Update outbound rule with required properties * Removing old change * Fix Python 2018-08 conf * Use only PublicIpAddress in Azure Firewall, not both Public and InternalPublic (#3743) * Do not confuse users with both InternalPublicIp and PublicIp for the same thing * Update AzureFirewall PUT example * This closes #3474 * Use the correct name for publicIPAddress in AzureFirewall PUT example * Azure Firewall FQDN Tag top level resource (#3744) * Azure Firewall FQDN Tag top level resource * Name FqdnTags property in AzureFirewallApplicationRule properly * Empty commit to trigger new validation * Vtapfinal (#3684) * Swagger Coverage/Completeness- for operation CheckNameAvailability (#3663) * Update service.json * CheckNameAvailability * FIxed Parameter name fixed couple of parameters name * Adds base for updating Microsoft.Network from version stable/2018-07-01 to version 2018-08-01 * Updates readme * Updates API version in new specs and examples * vtap update * VTAP changes * VTAP changes * Adding examples for VTAP resource * Update changes for Examples * Further fixes to examples * Add exception for vtap's RequiredPropertiesMissingInResourceModel in readme * Azure Firewall NAT Rule Collection (#3745) * NAT Rule Collections for Azure Firewall * Update examples to include the new NAT Rule Collection * Shorten the NAT RC Properties name and mark etag read-only * Add NAT Rule Collection to Azure Firewall properties * Fix all <<a Azure>> in helper messages * Do not allow ICMP as Network protocol (#3742) * Adding linkedResourceType and hostedWorkloads to nic (#3780) * Adding support for interface endpoints (#3783) * Creating Interface Endpoint definition * Adding references to interface endpoints in existing resources * Added Trusted root certificate changes to new API version (#3731) * Add ExpressRoute gateway resource (#3776) * Initial version * Refactor connections. * Update API version * Add enum values. * Addressed all comments. * Adding support for delegations on a subnet (#3805) * Adding subnet delegation property on VNET * Updating subnet/vnet create & get examples to reflect delegation * Adding support for GetAvailableDelegations operation * Fixing properties in Swagger & updating examples to reflect fixes * Add availableDelegation as a subResource * Remove type from examples * Further updates to delegation PR * Additional changes to structure * Correct issues for SDK generation (#3818) * Remove x-ms-client-flatten attribute as that results in wrong descriptiosn during generation of the SDKs. * Missing descriptions. * Rename TargetUrls to TargetFqdns (#3739) * Add Network Profile swagger and examples (#3806) * add network profile swagger and examples * add x-ms-client-flatten property as per feedback * appease travis by fixing model + examples * vtapswaggerupdate (#3837) * Add Service Association Link and IP Configuration Profiles on Subnet (#3840) * add service association links for virtual network * add ipconfig profiles on subnet * fixed example issue * Review for tabfix and properties fromat rename * Vtap swagger update and made the property as readonly (#3845) * vtapswaggerupdate * Adding readonly property * Updated AppGW Autoscale Configuration (#3838) * VPN gateway new API for Reset VPN client PSK (#3800) * Brooklyn Ignite Swagger changes (#3715) * Brooklyn Ignite Swagger changes * Add missing example file changes * Add virtual hub route table * Fix travis build error * VPN profile bugfix * Fix casing for NRP automapping * Fix parsing errors * remove BgpSettings from P2SVpnGateway object * Added AddressPrefixes on Subnet properties (#3714) * Added address prefixes to subnet * Added example of multiple address prefixes. * Python Network conf 2018-08-01 * Changes to include required properties for outbound rule (#3728) * Mark outbound rule properties as required * Update outbound rule with required properties * Removing old change * Fix Python 2018-08 conf * Fix swagger contract errors with NRP * Fix network swagger * Fix virtualHub Properties for SDK and PS JSON serializer compliance * Fix bugs * Changing Cortex swagger to match NRP * Bug fixes * bugFix3 * Bug fix * Use only PublicIpAddress in Azure Firewall, not both Public and InternalPublic (#3743) * Do not confuse users with both InternalPublicIp and PublicIp for the same thing * Update AzureFirewall PUT example * This closes #3474 * Use the correct name for publicIPAddress in AzureFirewall PUT example * Azure Firewall FQDN Tag top level resource (#3744) * Azure Firewall FQDN Tag top level resource * Name FqdnTags property in AzureFirewallApplicationRule properly * Empty commit to trigger new validation * Vtapfinal (#3684) * Swagger Coverage/Completeness- for operation CheckNameAvailability (#3663) * Update service.json * CheckNameAvailability * FIxed Parameter name fixed couple of parameters name * Adds base for updating Microsoft.Network from version stable/2018-07-01 to version 2018-08-01 * Updates readme * Updates API version in new specs and examples * vtap update * VTAP changes * VTAP changes * Adding examples for VTAP resource * Update changes for Examples * Further fixes to examples * Add exception for vtap's RequiredPropertiesMissingInResourceModel in readme * Azure Firewall NAT Rule Collection (#3745) * NAT Rule Collections for Azure Firewall * Update examples to include the new NAT Rule Collection * Shorten the NAT RC Properties name and mark etag read-only * Add NAT Rule Collection to Azure Firewall properties * Fix all <<a Azure>> in helper messages * Do not allow ICMP as Network protocol (#3742) * Adding linkedResourceType and hostedWorkloads to nic (#3780) * Adding support for interface endpoints (#3783) * Creating Interface Endpoint definition * Adding references to interface endpoints in existing resources * Added Trusted root certificate changes to new API version (#3731) * Add ExpressRoute gateway resource (#3776) * Initial version * Refactor connections. * Update API version * Add enum values. * Addressed all comments. * Adding support for delegations on a subnet (#3805) * Adding subnet delegation property on VNET * Updating subnet/vnet create & get examples to reflect delegation * Adding support for GetAvailableDelegations operation * Fixing properties in Swagger & updating examples to reflect fixes * Add availableDelegation as a subResource * Remove type from examples * Further updates to delegation PR * Additional changes to structure * Correct issues for SDK generation (#3818) * Remove x-ms-client-flatten attribute as that results in wrong descriptiosn during generation of the SDKs. * Missing descriptions. * Rename TargetUrls to TargetFqdns (#3739) * Fix travis errors in examples * Fixed error examples for P2S cortex resources * Fix swagger * Fix Semantic validation error * network swagger fix * Fix travis * Fix travis errors * Revert version change * Dummy changes for CI restart * Swagger changes (#3857) * Relocated readOnly property * Readded provisioning state to interfaceEndpoint.json * Updated networkInterface.json * Updated serviceEndpointPolicy.json * Update virtualNetworkTap.json * Fix semantic issue * Multiple changes * More example fixes * Dummy commit * Fixed duplicate * changes to swagger in interface endpoints and subnet delegation (#3860) * Revert "Trusted Root certificate (#3668)" This reverts commit 3ff4b52. * fixed api version in azure firewall example * Review comments incorporation (#3859)
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information
api-version
in the path should match theapi-version
in the spec).Quality of Swagger