├── .github ├── CODEOWNERS └── ISSUE_TEMPLATE │ ├── adp_review.md │ └── guidelines_change.md ├── .gitignore ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── _config.yml ├── _data ├── alerts.yml ├── allpackages │ ├── dotnet-packages.csv │ ├── java-packages.csv │ ├── js-packages.csv │ └── python-packages.csv ├── releases │ └── latest │ │ ├── dotnet-packages.csv │ │ ├── java-packages.csv │ │ ├── js-packages.csv │ │ └── python-packages.csv ├── sidebars │ ├── android_sidebar.yml │ ├── clang_sidebar.yml │ ├── cpp_sidebar.yml │ ├── dotnet_sidebar.yml │ ├── general_sidebar.yml │ ├── golang_sidebar.yml │ ├── home_sidebar.yml │ ├── ios_sidebar.yml │ ├── java_sidebar.yml │ ├── js_sidebar.yml │ ├── python_sidebar.yml │ └── releases_sidebar.yml └── topnav.yml ├── _includes ├── archive-single.html ├── archive.html ├── callout.html ├── custom │ ├── getting_started_series.html │ ├── getting_started_series_next.html │ ├── series_acme.html │ ├── series_acme_next.html │ ├── usermap.html │ └── usermapcomplex.html ├── disqus.html ├── dotnet-allpackages.html ├── dotnet-packages.html ├── draft.html ├── feedback.html ├── footer.html ├── google_analytics.html ├── head.html ├── head_print.html ├── image.html ├── important.html ├── initialize_shuffle.html ├── inline_image.html ├── java-allpackages.html ├── java-packages.html ├── js-allpackages.html ├── js-packages.html ├── links.html ├── note.html ├── paginator.html ├── python-allpackages.html ├── python-packages.html ├── refs.md ├── requirement │ ├── MAY │ ├── MUST │ ├── MUSTNOT │ ├── SHOULD │ └── SHOULDNOT ├── sidebar.html ├── tables │ ├── data_namespaces.md │ ├── environment_variables.md │ ├── mgmt_namespaces.md │ └── standard_verbs.md ├── taglogic.html ├── tip.html ├── toc.html ├── topnav.html └── warning.html ├── _layouts ├── default.html ├── default_print.html ├── none.html ├── page.html ├── page_print.html ├── post.html ├── redirect.html └── releases.html ├── _posts ├── 2019-11-11-november-ga-release.md ├── 2019-12-13-december-release.md ├── 2020-01-13-january-release.md ├── 2020-02-11-february-release.md ├── 2020-02-25-defaultazurecredentials.md ├── 2020-03-02-java-pluggable-http.md ├── 2020-03-10-monorepo.md ├── 2020-03-17-march-release.md └── 2020-03-24-python-tracing.md ├── azuresdkspecs ├── DesignGuidelines.html ├── DotNetSpec.html ├── JavaSpec.html ├── PythonSpec.html ├── README.md ├── TypeScriptSpec.html └── index.html ├── css ├── bootstrap.min.css ├── boxshadowproperties.css ├── customstyles.css ├── font-awesome.min.css ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── modern-business.css ├── printstyles.css ├── syntax.css ├── theme-azure.css └── theme-blue.css ├── docs ├── android │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── clang │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── cpp │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── dotnet │ ├── APIListingExample.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── general │ ├── azurecore.md │ ├── compatibility.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── terminology.md ├── golang │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── introduction.md │ └── refs.md ├── ios │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── java │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── policies │ ├── README-EXAMPLE.md │ ├── README-TEMPLATE.md │ ├── adoption.md │ ├── opensource.md │ ├── pipelines.md │ ├── releasenotes.md │ ├── releases.md │ ├── repobranching.md │ ├── repostructure.md │ └── reviewprocess.md ├── python │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── redirects │ ├── dotnet-guidelines.md │ ├── general-guidelines.md │ ├── java-guidelines.md │ ├── python-guidelines.md │ └── typescript-guidelines.md ├── tables │ └── registered_namespaces.md └── typescript │ ├── approved_dependencies.md │ ├── design.md │ ├── documentation.md │ ├── implementation.md │ ├── introduction.md │ └── refs.md ├── eng ├── ci.yml ├── githubio-linkcheck.yml ├── scripts │ ├── Query-Azure-Packages.ps1 │ ├── Submit-PullRequest.ps1 │ └── Update-Release-Versions.ps1 └── version-updater.yml ├── feed.xml ├── fonts ├── FontAwesome.otf ├── fontawesome-webfont.eot ├── fontawesome-webfont.svg ├── fontawesome-webfont.ttf ├── fontawesome-webfont.woff ├── glyphicons-halflings-regular.eot ├── glyphicons-halflings-regular.svg ├── glyphicons-halflings-regular.ttf ├── glyphicons-halflings-regular.woff └── glyphicons-halflings-regular.woff2 ├── images ├── azure-icon.png ├── company_logo.png └── posts │ └── 03242020-image1.png ├── index.html ├── js ├── customscripts.js ├── jekyll-search.js ├── jquery.ba-throttle-debounce.min.js ├── jquery.navgoco.min.js ├── jquery.shuffle.min.js └── toc.js ├── releases ├── 2019-07-10 │ ├── 2019-07-10-dotnet-preview1.md │ ├── 2019-07-10-java-preview1.md │ ├── 2019-07-10-js-preview1.md │ ├── 2019-07-10-python-preview1.md │ └── index.md ├── 2019-08-06 │ ├── 2019-08-06-dotnet-preview2.md │ ├── 2019-08-06-java-preview2.md │ ├── 2019-08-06-js-preview2.md │ ├── 2019-08-06-python-preview2.md │ └── index.md ├── 2019-09-17 │ ├── 2019-09-17-dotnet-preview3.md │ ├── 2019-09-17-java-preview3.md │ ├── 2019-09-17-js-preview3.md │ ├── 2019-09-17-python-preview3.md │ └── index.md ├── 2019-10-11 │ ├── 2019-10-11-dotnet-preview4.md │ ├── 2019-10-11-java-preview4.md │ ├── 2019-10-11-js-preview4.md │ ├── 2019-10-11-python-preview4.md │ └── index.md ├── 2019-11 │ ├── 2019-11-dotnet.md │ ├── 2019-11-java.md │ ├── 2019-11-js.md │ ├── 2019-11-python.md │ ├── index.md │ ├── java-quicklinks.md │ ├── js-quicklinks.md │ ├── net-quicklinks.md │ └── python-quicklinks.md ├── 2019-12 │ ├── 2019-12-dotnet.md │ ├── 2019-12-java.md │ ├── 2019-12-js.md │ ├── 2019-12-python.md │ └── index.md ├── 2020-01 │ ├── dotnet.md │ ├── index.md │ ├── java.md │ ├── js.md │ └── python.md ├── 2020-02 │ ├── dotnet.md │ ├── index.md │ ├── java.md │ ├── js.md │ └── python.md ├── 2020-03 │ ├── dotnet.md │ ├── index.md │ ├── java.md │ ├── js.md │ └── python.md └── latest │ ├── all │ ├── dotnet.md │ ├── java.md │ ├── js.md │ └── python.md │ ├── dotnet.md │ ├── index.md │ ├── java.md │ ├── js.md │ └── python.md ├── search.json └── sitemap.xml /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | ##### 2 | ##### TEAM: 3 | ##### 4 | ##### Architecture: 5 | ##### Brian Terlson @bterlson TypeScript / JavaScript 6 | ##### Jeffrey Richter @JeffreyRichter At large 7 | ##### Jonathan Giles @JonathanGiles Java 8 | ##### Krzysztof Cwalina @KrzysztofCwalina .NET 9 | ##### Johan Stenberg @johanste Python 10 | ##### Gor Nishanov @gornishanov C / C++ 11 | ##### Kyle Patterson @kyle-patterson Program Management 12 | ##### 13 | ##### Engineering Systems: 14 | ##### Maggie Pint @maggiepint Program Management 15 | ##### Mike Harder @mikeharder Eng. Sys. Engineer 16 | ##### Wes Haggard @weshaggard Eng. Sys. Engineer 17 | ##### 18 | ##### Team Management: 19 | ##### Peter Marcu @petermarcu Dev Management 20 | ##### Larry Olson @loarabia PM Management 21 | ##### Scott Kurtzeborn @Kurtzeborn Eng. Sys. Dev Lead 22 | ##### Alex Ghiondea @AlexGhiondea Dev Lead - TS and .NET 23 | ##### Mayuri Diwan @mayurid Dev Lead - Python and Java 24 | ##### 25 | ##### External language experts: 26 | ##### Anna Tisch @annatisch Python 27 | ##### Asir Vedamuthu Selvasingh @Selvasingh Java 28 | ##### Brian Holt @btholt JavaScript 29 | ##### Bruno Borges @brunoborges Java 30 | ##### Bryan Van de Ven @bryevdv Python 31 | ##### Chris Dias @chrisdias JavaScript 32 | ##### David Fowler @davidfowl .NET 33 | ##### Daniel Moth @DanielMoth Python 34 | ##### Matt Hernandez @fiveisprime JavaScript 35 | ##### Steve Dower @zooba Python 36 | ##### 37 | ##### 38 | ##### REVIEW REQUIREMENTS: 39 | ##### * The author of the PR is not a valid reviewer. 40 | ##### * All general guidelines must be approved by three architects (other than the author). 41 | ##### * All per-language guidelines must be approved by the assigned language architect plus 42 | ##### one other language-specific person. If the assigned language architect is the author 43 | ##### of the PR, then only one other language-specific person needs to approve the PR. 44 | ##### * Engineering Systems PRs must be approved by two engineering systems team members. 45 | ##### 46 | 47 | # Engineering systems documents 48 | docs/android/ @adrianhall @kyle-patterson @JonathanGiles 49 | docs/clang/ @kyle-patterson @JeffreyRichter 50 | docs/cpp/ @kyle-patterson @JeffreyRichter 51 | docs/dotnet/ @KrzysztofCwalina 52 | docs/general/ @kyle-patterson 53 | docs/golang/ @JeffreyRichter 54 | docs/java/ @JonathanGiles 55 | docs/policies/ @maggiepint @Kurtzeborn @weshaggard @mikeharder 56 | docs/python/ @johanste 57 | docs/redirects/ @kyle-patterson 58 | docs/tables/ @kyle-patterson 59 | docs/typescript/ @bterlson 60 | eng/ @weshaggard 61 | releases/ @kyle-patterson @loarabia 62 | _posts/ @kyle-patterson @loarabia 63 | _data/ @czubair @weshaggard 64 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/guidelines_change.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Design Guidelines Change 3 | about: Request to change the client library design guidelines 4 | title: 'Change Request: for ' 5 | labels: architecture 6 | assignees: kyle-patterson 7 | --- 8 | 9 | Thank you for contributing to the design guidelines for Azure SDKs. We welcome all discussions and contributions. Since the design guidelines affect the client libraries for all Azure services, we thoroughly discuss and vet any design guideline changes before we incorporate them into the official guidance. This process can take some time, so your patience is appreciated. 10 | 11 | ** Before submitting, ensure you adjust the title of the issue appropriately ** 12 | 13 | ## The Basics 14 | 15 | * Which design guideline is affected? 16 | 17 | * Which target languages are affected? 18 | 19 | * Describe the change: 20 | 21 | ## Reasoning 22 | 23 | Please provide any additional detail or reasoning for the request. 24 | 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/jekyll 2 | # Edit at https://www.gitignore.io/?templates=jekyll 3 | 4 | ### Jekyll ### 5 | _site/ 6 | .sass-cache/ 7 | .jekyll-cache/ 8 | .jekyll-metadata 9 | 10 | # End of https://www.gitignore.io/api/jekyll 11 | 12 | ### Local Additions ### 13 | .bundle/ 14 | .idea 15 | .DS_Store 16 | vendor/ 17 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem 'github-pages', '>200', group: :jekyll_plugins 4 | gem 'jekyll-relative-links' 5 | gem 'wdm', '>= 0.1.0' if Gem.win_platform? 6 | gem 'tzinfo-data' 7 | 8 | # Explicit versions for reported security issue 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Microsoft Corporation. All rights reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE 22 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | repository: azure/azure-sdk 2 | 3 | # feed.xml 4 | title: Azure SDKs 5 | description: "The design guidelines and policies under which the Azure SDKs are designed and built." 6 | topnav_title: Azure SDKs 7 | site_title: Azure SDKs 8 | company_name: Microsoft Azure 9 | 10 | # github_editme_path: azure/azure-sdk/blob/gh-pages/ 11 | # disqus_shortname: azure-sdk 12 | google_analytics: UA-151056387-1 13 | 14 | # The preview server settings 15 | host: 127.0.0.1 16 | port: 4000 17 | output: web 18 | 19 | plugins_dir: 20 | - jekyll-github-metadata 21 | - jekyll-paginate 22 | - jekyll-sitemap 23 | - jekyll-gist 24 | - jekyll-seo-tag 25 | - jekyll-relative-links 26 | - jemoji 27 | 28 | # Files and directories that Jekyll will exclude from the build 29 | exclude: 30 | - .idea/ 31 | - .gitignore 32 | - eng 33 | - vendor 34 | - docs/policies/README* 35 | 36 | feedback_subject_line: Azure SDK Design Guidelines Feedback 37 | feedback_email: adparch@microsoft.com 38 | feedback_disable: true 39 | 40 | # Social Profiles 41 | twitter: 42 | username: azuresdk 43 | card: summary 44 | 45 | social: 46 | name: Azure SDKs 47 | links: 48 | - https://twitter.com/AzureSDK 49 | - https://github.com/azure/azure-sdk 50 | 51 | # Various plugin settings 52 | highlighter: rouge 53 | markdown: kramdown 54 | kramdown: 55 | input: GFM 56 | auto_ids: true 57 | hard_wrap: false 58 | syntax_highlighter: rouge 59 | 60 | paginate: 10 61 | paginate_path: /page:num/ 62 | timezone: "US/Pacific" 63 | 64 | relative_links: 65 | enabled: true 66 | 67 | defaults: 68 | - 69 | scope: 70 | path: "" 71 | type: "pages" 72 | values: 73 | layout: "page" 74 | comments: false 75 | search: true 76 | sidebar: home_sidebar 77 | topnav: topnav 78 | - 79 | scope: 80 | path: "" 81 | type: "posts" 82 | values: 83 | layout: "post" 84 | comments: false 85 | search: true 86 | sidebar: home_sidebar 87 | topnav: topnav 88 | permalink: /posts/:year-:month-:day/:title:output_ext 89 | 90 | sidebars: 91 | - home_sidebar 92 | 93 | github: [metadata] 94 | -------------------------------------------------------------------------------- /_data/alerts.yml: -------------------------------------------------------------------------------- 1 | tip: '