├── .gitattributes ├── .github ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── ISSUE_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ └── question-query-template.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml └── workflows │ ├── .linkspector.yml │ ├── ci.yml │ ├── codeql-analysis.yml │ ├── markdown-link-check.yml │ └── sync-label-from-azsdk-repo.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── aad ├── spring-cloud-azure-starter-active-directory-b2c │ ├── aad-b2c-resource-server │ │ ├── README.md │ │ ├── docs │ │ │ ├── image-add-application-roles.png │ │ │ ├── image-add-delegated-permissions.png │ │ │ ├── image-add-user-flow.png │ │ │ ├── image-configuration-application-roles.png │ │ │ ├── image-consent-application-and-delegated-permissions.png │ │ │ ├── image-expose-an-api.png │ │ │ ├── image-final-configuration.png │ │ │ ├── image-select-a-user-flow-type.png │ │ │ ├── image-selected-application.png │ │ │ ├── image-setting-relevant-content.png │ │ │ └── image-user-flow-finally.png │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── aad │ │ │ │ └── b2c │ │ │ │ ├── AadB2cResourceServerSampleApplication.java │ │ │ │ ├── controller │ │ │ │ └── WebController.java │ │ │ │ └── security │ │ │ │ └── WebSecurityConfiguration.java │ │ │ └── resources │ │ │ └── application.yml │ └── aad-b2c-web-application │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── aad │ │ │ └── b2c │ │ │ ├── AadB2cOidcSampleApplication.java │ │ │ ├── controller │ │ │ └── WebController.java │ │ │ └── security │ │ │ └── WebSecurityConfiguration.java │ │ └── resources │ │ ├── application.yml │ │ └── templates │ │ └── home.html ├── spring-cloud-azure-starter-active-directory │ ├── aad-resource-server-by-filter-stateless │ │ ├── README.md │ │ ├── docs │ │ │ └── demo.webp │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── aad │ │ │ │ │ ├── AadStatelessBackendSampleApplication.java │ │ │ │ │ ├── controller │ │ │ │ │ └── MainController.java │ │ │ │ │ └── security │ │ │ │ │ └── AadWebSecurityConfig.java │ │ │ │ └── resources │ │ │ │ ├── application.yml │ │ │ │ └── static │ │ │ │ └── index.html │ │ └── terraform │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ └── setup_env.sh │ ├── aad-resource-server-by-filter │ │ ├── README.md │ │ ├── docs │ │ │ ├── add-permissions.png │ │ │ ├── application-registration-1.png │ │ │ ├── application-registration-2.png │ │ │ ├── create-secret.png │ │ │ ├── grant-admin-consent.png │ │ │ ├── secret-value.png │ │ │ └── tokens-to-accept.png │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── aad │ │ │ │ │ ├── AadIntegrationSpringBootAutoconfigureSampleApplication.java │ │ │ │ │ ├── controller │ │ │ │ │ └── TodoListController.java │ │ │ │ │ ├── model │ │ │ │ │ └── TodoItem.java │ │ │ │ │ └── security │ │ │ │ │ └── WebSecurityConfig.java │ │ │ │ └── resources │ │ │ │ ├── application.yml │ │ │ │ ├── static │ │ │ │ └── App │ │ │ │ │ ├── Scripts │ │ │ │ │ ├── app.js │ │ │ │ │ ├── homeCtrl.js │ │ │ │ │ ├── indexCtrl.js │ │ │ │ │ ├── msal.js │ │ │ │ │ ├── msalModule.js │ │ │ │ │ ├── todoListCtrl.js │ │ │ │ │ ├── todoListSvc.js │ │ │ │ │ └── userDataCtrl.js │ │ │ │ │ └── Views │ │ │ │ │ ├── Home.html │ │ │ │ │ ├── TodoList.html │ │ │ │ │ └── UserData.html │ │ │ │ └── templates │ │ │ │ └── index.html │ │ └── terraform │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ └── setup_env.sh │ ├── aad-web-application-and-resource-server │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── aad │ │ │ │ ├── AadOAuth2WebAppAndResourceServerSampleApplication.java │ │ │ │ ├── config │ │ │ │ └── WebClientConfig.java │ │ │ │ ├── controller │ │ │ │ ├── webapi │ │ │ │ │ └── WebApiController.java │ │ │ │ └── webapp │ │ │ │ │ ├── AuthorityController.java │ │ │ │ │ ├── CallWebApiController.java │ │ │ │ │ ├── ClientController.java │ │ │ │ │ ├── OnDemandClientController.java │ │ │ │ │ └── RoleController.java │ │ │ │ ├── security │ │ │ │ ├── AadConditionalAccessFilter.java │ │ │ │ └── AadWebApplicationAndResourceServerConfig.java │ │ │ │ └── utils │ │ │ │ └── JsonMapper.java │ │ │ └── resources │ │ │ ├── application.yml │ │ │ └── templates │ │ │ └── index.html │ └── web-client-access-resource-server │ │ ├── README.md │ │ ├── aad-resource-server-obo │ │ ├── README.md │ │ ├── docs │ │ │ ├── image-aad-obo-flow-and-client-credential-flow.png │ │ │ ├── image-add-grant-admin-consent.png │ │ │ ├── image-add-permissions.png │ │ │ ├── image-resource-server-obo-add-scope.png │ │ │ └── image-select-myapis.png │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── aad │ │ │ │ ├── AadOAuth2ResourceServerOboSampleApplication.java │ │ │ │ ├── configuration │ │ │ │ └── AadSampleConfiguration.java │ │ │ │ └── controller │ │ │ │ └── SampleController.java │ │ │ └── resources │ │ │ └── application.yml │ │ ├── aad-resource-server │ │ ├── README.md │ │ ├── docs │ │ │ ├── image-add-a-scope.png │ │ │ ├── image-add-custom-apis-to-webapp.png │ │ │ ├── image-add-resource-server.png │ │ │ ├── image-creat-secrets-api.png │ │ │ ├── image-expose-api.png │ │ │ ├── image-final.png │ │ │ ├── image-granted-permission.png │ │ │ ├── image-protal-manage.png │ │ │ ├── image-register-a-web-api.png │ │ │ └── image-set-application-id-url.png │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── aad │ │ │ │ ├── AadOAuth2ResourceServerSampleApplication.java │ │ │ │ └── controller │ │ │ │ └── HomeController.java │ │ │ └── resources │ │ │ └── application.yml │ │ ├── aad-web-application │ │ ├── README.md │ │ ├── docs │ │ │ ├── image-add-a-platform.png │ │ │ ├── image-add-grant-admin-consent.png │ │ │ ├── image-add-permissions.png │ │ │ ├── image-create-app-secrets.png │ │ │ ├── image-permissions.png │ │ │ ├── image-portal-manage.png │ │ │ ├── image-register-a-web-app.png │ │ │ ├── image-request-api-permissions.png │ │ │ ├── image-secret-value.png │ │ │ └── image-select-myapis.png │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── aad │ │ │ │ ├── AadOAuth2WebAppSampleApplication.java │ │ │ │ ├── config │ │ │ │ └── WebClientConfig.java │ │ │ │ ├── controller │ │ │ │ ├── AuthorityController.java │ │ │ │ ├── ClientController.java │ │ │ │ ├── OnDemandClientController.java │ │ │ │ ├── RoleController.java │ │ │ │ └── WebApiController.java │ │ │ │ ├── security │ │ │ │ ├── AadConditionalAccessFilter.java │ │ │ │ └── AadWebApplicationConfig.java │ │ │ │ └── utils │ │ │ │ └── JsonMapper.java │ │ │ └── resources │ │ │ ├── application.yml │ │ │ └── templates │ │ │ └── index.html │ │ ├── pom.xml │ │ ├── run_all.ps1 │ │ ├── run_all.sh │ │ └── terraform │ │ ├── kill-port.ps1 │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ └── setup_env.sh └── spring-security │ ├── README.md │ ├── docs │ ├── README.md │ ├── homework-answers.md │ ├── reactive │ │ └── webflux │ │ │ └── oauth2 │ │ │ └── spring-cloud-gateway.md │ └── servlet │ │ └── oauth2 │ │ ├── client-access-multiple-resource-server.md │ │ ├── client-access-resource-server.md │ │ ├── login-authenticate-using-private-key-jwt.md │ │ ├── login.md │ │ ├── resource-server-check-permissions-by-claims-in-access-token.md │ │ └── resource-server-support-on-behalf-of-flow.md │ ├── reactive │ └── webflux │ │ └── oauth2 │ │ └── spring-cloud-gateway │ │ ├── README.md │ │ ├── client │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── activedirectory │ │ │ │ └── reactive │ │ │ │ └── webflux │ │ │ │ └── oauth2 │ │ │ │ └── gateway │ │ │ │ └── client │ │ │ │ ├── ClientApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── SecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ ├── HomeController.java │ │ │ │ ├── ResourceServer1Controller.java │ │ │ │ └── ResourceServer2Controller.java │ │ │ └── resources │ │ │ └── application.yml │ │ ├── gateway │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── activedirectory │ │ │ │ └── reactive │ │ │ │ └── webflux │ │ │ │ └── oauth2 │ │ │ │ └── gateway │ │ │ │ └── gateway │ │ │ │ ├── GatewayApplication.java │ │ │ │ └── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── SecurityConfiguration.java │ │ │ └── resources │ │ │ └── application.yml │ │ ├── pom.xml │ │ ├── resource-server-1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── activedirectory │ │ │ │ └── oauth2 │ │ │ │ └── gateway │ │ │ │ └── resourceserver1 │ │ │ │ ├── ResourceServer1Application.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── SecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ └── HomeController.java │ │ │ └── resources │ │ │ └── application.yml │ │ ├── resource-server-2 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── activedirectory │ │ │ │ └── reactive │ │ │ │ └── webflux │ │ │ │ └── oauth2 │ │ │ │ └── gateway │ │ │ │ └── resourceserver2 │ │ │ │ ├── ResourceServer2Application.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── SecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ └── HomeController.java │ │ │ └── resources │ │ │ └── application.yml │ │ ├── run_all.ps1 │ │ ├── run_all.sh │ │ └── terraform │ │ ├── kill-port.ps1 │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ └── setup_env.sh │ └── servlet │ └── oauth2 │ ├── client-access-multiple-resource-server │ ├── README.md │ ├── client │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample03 │ │ │ │ └── client │ │ │ │ ├── ClientApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ ├── HomeController.java │ │ │ │ ├── ResourceServer1Controller.java │ │ │ │ ├── ResourceServer2Controller.java │ │ │ │ └── ResourceServerAllController.java │ │ │ └── resources │ │ │ └── application.yml │ ├── pom.xml │ ├── resource-server-1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample03 │ │ │ │ └── resource │ │ │ │ └── server1 │ │ │ │ ├── ResourceServerApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ └── HomeController.java │ │ │ └── resources │ │ │ └── application.yml │ ├── resource-server-2 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample03 │ │ │ │ └── resource │ │ │ │ └── server2 │ │ │ │ ├── ResourceServerApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ └── HomeController.java │ │ │ └── resources │ │ │ └── application.yml │ ├── run_all.ps1 │ ├── run_all.sh │ └── terraform │ │ ├── kill-port.ps1 │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ └── setup_env.sh │ ├── client-access-resource-server │ ├── README.md │ ├── client │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample01 │ │ │ │ └── client │ │ │ │ ├── ClientApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ ├── HomeController.java │ │ │ │ └── ResourceServerController.java │ │ │ └── resources │ │ │ └── application.yml │ ├── pom.xml │ ├── resource-server │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample01 │ │ │ │ └── resource │ │ │ │ └── server │ │ │ │ ├── ResourceServerApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ └── HomeController.java │ │ │ └── resources │ │ │ └── application.yml │ ├── run_all.ps1 │ ├── run_all.sh │ └── terraform │ │ ├── kill-port.ps1 │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ └── setup_env.sh │ ├── login-authenticate-using-private-key-jwt │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── reactive │ │ │ │ └── servlet │ │ │ │ └── oauth2 │ │ │ │ └── login │ │ │ │ └── jwt │ │ │ │ ├── SampleApplication.java │ │ │ │ ├── azure │ │ │ │ └── activedirectory │ │ │ │ │ ├── AzureActiveDirectoryAssertionException.java │ │ │ │ │ ├── AzureActiveDirectoryCertificateSignedJwtAssertionFactory.java │ │ │ │ │ └── AzureActiveDirectoryJwtClientAuthenticationParametersConverter.java │ │ │ │ ├── configuration │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ └── HomeController.java │ │ └── resources │ │ │ └── application.yml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── reactive │ │ │ └── servlet │ │ │ └── oauth2 │ │ │ └── login │ │ │ └── jwt │ │ │ ├── azure │ │ │ └── activedirectory │ │ │ │ └── AzureActiveDirectoryCertificateSignedAssertionFactoryTest.java │ │ │ └── configuration │ │ │ └── WebSecurityConfigurationTest.java │ │ └── resources │ │ ├── encrypted-private-key-and-certificate.pem │ │ └── encrypted-private-key-and-certificate.pfx │ ├── login │ ├── README.md │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample00 │ │ │ │ ├── HomeController.java │ │ │ │ └── SampleApplication.java │ │ │ └── resources │ │ │ └── application.yml │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ └── setup_env.sh │ ├── resource-server-check-permissions-by-claims-in-access-token │ ├── README.md │ ├── client │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample02 │ │ │ │ └── client │ │ │ │ ├── ClientApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ ├── CheckPermissionByScopeController.java │ │ │ │ ├── HomeController.java │ │ │ │ └── ResourceServerController.java │ │ │ └── resources │ │ │ └── application.yml │ ├── pom.xml │ ├── resource-server │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── active │ │ │ │ └── directory │ │ │ │ └── oauth2 │ │ │ │ └── servlet │ │ │ │ └── sample02 │ │ │ │ └── resource │ │ │ │ └── server │ │ │ │ ├── ResourceServerApplication.java │ │ │ │ ├── configuration │ │ │ │ ├── ApplicationConfiguration.java │ │ │ │ └── WebSecurityConfiguration.java │ │ │ │ └── controller │ │ │ │ ├── CheckPermissionByRoleController.java │ │ │ │ ├── CheckPermissionByScopeController.java │ │ │ │ └── HomeController.java │ │ │ └── resources │ │ │ └── application.yml │ ├── run_all.ps1 │ ├── run_all.sh │ └── terraform │ │ ├── kill-port.ps1 │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ └── setup_env.sh │ └── resource-server-support-on-behalf-of-flow │ ├── README.md │ ├── client │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── active │ │ │ └── directory │ │ │ └── oauth2 │ │ │ └── servlet │ │ │ └── sample04 │ │ │ └── client │ │ │ ├── ClientApplication.java │ │ │ ├── configuration │ │ │ ├── ApplicationConfiguration.java │ │ │ └── WebSecurityConfiguration.java │ │ │ └── controller │ │ │ ├── HomeController.java │ │ │ └── ResourceServer1Controller.java │ │ └── resources │ │ └── application.yml │ ├── pom.xml │ ├── resource-server-1 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── active │ │ │ └── directory │ │ │ └── oauth2 │ │ │ └── servlet │ │ │ └── sample04 │ │ │ └── resource │ │ │ └── server1 │ │ │ ├── ResourceServerApplication.java │ │ │ ├── configuration │ │ │ ├── AadJwtBearerGrantRequestEntityConverter.java │ │ │ ├── ApplicationConfiguration.java │ │ │ └── WebSecurityConfiguration.java │ │ │ └── controller │ │ │ ├── HomeController.java │ │ │ └── ResourceServer2Controller.java │ │ └── resources │ │ └── application.yml │ ├── resource-server-2 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── active │ │ │ └── directory │ │ │ └── oauth2 │ │ │ └── servlet │ │ │ └── sample04 │ │ │ └── resource │ │ │ └── server2 │ │ │ ├── ResourceServerApplication.java │ │ │ ├── configuration │ │ │ ├── ApplicationConfiguration.java │ │ │ └── WebSecurityConfiguration.java │ │ │ └── controller │ │ │ └── HomeController.java │ │ └── resources │ │ └── application.yml │ ├── run_all.ps1 │ ├── run_all.sh │ └── terraform │ ├── kill-port.ps1 │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ └── setup_env.sh ├── appconfiguration ├── spring-cloud-azure-appconfiguration-config │ ├── spring-cloud-azure-appconfiguration-config-convert-sample │ │ ├── README.md │ │ ├── spring-cloud-azure-appconfiguration-config-convert-sample-complete │ │ │ ├── README.md │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── sample │ │ │ │ │ └── convert │ │ │ │ │ ├── ConvertSampleApplication.java │ │ │ │ │ ├── User.java │ │ │ │ │ └── UserRepository.java │ │ │ │ └── resources │ │ │ │ └── bootstrap.properties │ │ └── spring-cloud-azure-appconfiguration-config-convert-sample-initial │ │ │ ├── README.md │ │ │ ├── pom.xml │ │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── sample │ │ │ │ └── convert │ │ │ │ ├── ConvertSampleApplication.java │ │ │ │ ├── User.java │ │ │ │ └── UserRepository.java │ │ │ └── resources │ │ │ └── application.properties │ └── spring-cloud-azure-appconfiguration-config-sample │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── AzureConfigApplication.java │ │ │ ├── BootstrapConfiguration.java │ │ │ ├── HelloController.java │ │ │ └── MessageProperties.java │ │ └── resources │ │ ├── bootstrap.yaml │ │ └── data │ │ └── sample-data.json ├── spring-cloud-azure-feature-management-web │ ├── spring-cloud-azure-feature-management-web-sample │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ ├── FeatureFilter.java │ │ │ │ ├── FeatureManagerWebApplication.java │ │ │ │ ├── HelloController.java │ │ │ │ ├── MessageProperties.java │ │ │ │ ├── MyDisabledFeaturesHandler.java │ │ │ │ ├── TestComponent.java │ │ │ │ └── filters │ │ │ │ ├── ClientFilter.java │ │ │ │ └── Random.java │ │ │ └── resources │ │ │ ├── application.yml │ │ │ ├── data │ │ │ └── sample-data.yml │ │ │ ├── static │ │ │ └── css │ │ │ │ └── main.css │ │ │ └── templates │ │ │ ├── BetaA.html │ │ │ ├── BetaB.html │ │ │ ├── privacy.html │ │ │ └── welcome.html │ └── spring-cloud-azure-targeting-filter-web-sample │ │ ├── README.md │ │ ├── images │ │ ├── default-page.png │ │ └── page-with-included-user-id.png │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ ├── DemoApplication.java │ │ │ ├── configuration │ │ │ └── AppConfiguration.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── impl │ │ │ └── TargetingContextImpl.java │ │ └── resources │ │ ├── application.yml │ │ ├── data │ │ └── sample-data.yml │ │ ├── static │ │ └── css │ │ │ └── main.css │ │ └── templates │ │ └── welcome.html ├── spring-cloud-azure-feature-management │ └── spring-cloud-azure-feature-management-sample │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ ├── ConsoleApplication.java │ │ │ └── Random.java │ │ └── resources │ │ ├── application.yml │ │ └── data │ │ └── sample-data.yml ├── spring-cloud-azure-starter-appconfiguration-config │ ├── spring-cloud-azure-starter-appconfiguration-config-entraid-sample │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── example │ │ │ │ ├── AppConfigClientCustomizer.java │ │ │ │ ├── AppConfiguration.java │ │ │ │ ├── Application.java │ │ │ │ ├── HelloController.java │ │ │ │ └── MessageProperties.java │ │ │ └── resources │ │ │ ├── META-INF │ │ │ └── spring.factories │ │ │ └── bootstrap.properties │ └── spring-cloud-azure-starter-appconfiguration-config-sample │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── example │ │ │ ├── Application.java │ │ │ ├── HelloController.java │ │ │ └── MessageProperties.java │ │ └── resources │ │ └── bootstrap.properties └── spring-cloud-azure-starter-appconfiguration │ └── appconfiguration-client │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── appconfiguration │ │ │ └── AppConfigurationClientApplication.java │ │ └── resources │ │ └── application.yml │ └── terraform │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── cache ├── .gitignore ├── spring-cloud-azure-redis-sample-passwordless │ ├── README.md │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── cache │ │ │ │ ├── CachePasswordlessApplication.java │ │ │ │ └── WebController.java │ │ │ └── resources │ │ │ └── application.yaml │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf └── spring-cloud-azure-redis-sample │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── cache │ │ │ ├── CacheApplication.java │ │ │ └── WebController.java │ │ └── resources │ │ └── application.yaml │ └── terraform │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── cosmos ├── .gitignore ├── azure-spring-data-cosmos │ ├── cosmos-aad-sample │ │ ├── README.md │ │ ├── media │ │ │ └── aad-app.png │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── data │ │ │ │ └── cosmos │ │ │ │ └── example │ │ │ │ ├── common │ │ │ │ └── User.java │ │ │ │ └── quickstart │ │ │ │ └── sync │ │ │ │ ├── CosmosProperties.java │ │ │ │ ├── SampleAppConfiguration.java │ │ │ │ ├── SampleAppConfigurationProd.java │ │ │ │ ├── SampleApplication.java │ │ │ │ └── UserRepository.java │ │ │ └── resources │ │ │ └── application.yaml │ ├── cosmos-multi-database-multi-account │ │ ├── README.md │ │ ├── pom.xml │ │ ├── resource │ │ │ ├── result-in-mysql.png │ │ │ ├── result-in-primary-cosmos-database.png │ │ │ └── result-in-secondary-cosmos-database.png │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── cosmos │ │ │ │ │ └── multi │ │ │ │ │ └── database │ │ │ │ │ └── multiple │ │ │ │ │ └── account │ │ │ │ │ ├── CosmosProperties.java │ │ │ │ │ ├── MultiDatabaseApplication.java │ │ │ │ │ ├── PrimaryDatasourceConfiguration.java │ │ │ │ │ ├── SecondaryDatasourceConfiguration.java │ │ │ │ │ └── repository │ │ │ │ │ ├── cosmos │ │ │ │ │ ├── CosmosUser.java │ │ │ │ │ └── CosmosUserRepository.java │ │ │ │ │ └── mysql │ │ │ │ │ ├── MysqlUser.java │ │ │ │ │ └── MysqlUserRepository.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ ├── cosmos-multi-database-single-account │ │ ├── README.md │ │ ├── pom.xml │ │ ├── resource │ │ │ ├── result-in-cosmos-database1.png │ │ │ └── result-in-cosmos-database2.png │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── cosmos │ │ │ │ │ └── multi │ │ │ │ │ └── database │ │ │ │ │ ├── CosmosProperties.java │ │ │ │ │ ├── DatasourceConfiguration.java │ │ │ │ │ ├── MultiDatabaseApplication.java │ │ │ │ │ ├── repository1 │ │ │ │ │ ├── User1.java │ │ │ │ │ └── User1Repository.java │ │ │ │ │ └── repository2 │ │ │ │ │ ├── User2.java │ │ │ │ │ └── User2Repository.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ ├── cosmos-multi-tenant-samples │ │ ├── multi-tenant-by-container │ │ │ ├── README.md │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── data │ │ │ │ │ └── cosmos │ │ │ │ │ └── example │ │ │ │ │ ├── AppConfiguration.java │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── CosmosProperties.java │ │ │ │ │ ├── HomeController.java │ │ │ │ │ ├── Order.java │ │ │ │ │ ├── OrderController.java │ │ │ │ │ ├── OrderRepository.java │ │ │ │ │ ├── User.java │ │ │ │ │ ├── UserController.java │ │ │ │ │ ├── UserRepository.java │ │ │ │ │ └── tenant │ │ │ │ │ ├── MultiTenantContainerCosmosFactory.java │ │ │ │ │ ├── TenantInterceptor.java │ │ │ │ │ ├── TenantStorage.java │ │ │ │ │ └── WebConfiguration.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── multi-tenant-by-database │ │ │ ├── README.md │ │ │ ├── pom.xml │ │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── data │ │ │ │ └── cosmos │ │ │ │ └── example │ │ │ │ ├── AppConfiguration.java │ │ │ │ ├── Application.java │ │ │ │ ├── CosmosProperties.java │ │ │ │ ├── HomeController.java │ │ │ │ ├── Order.java │ │ │ │ ├── OrderController.java │ │ │ │ ├── OrderRepository.java │ │ │ │ ├── User.java │ │ │ │ ├── UserController.java │ │ │ │ ├── UserRepository.java │ │ │ │ └── tenant │ │ │ │ ├── MultiTenantDBCosmosFactory.java │ │ │ │ ├── TenantInterceptor.java │ │ │ │ ├── TenantStorage.java │ │ │ │ └── WebConfiguration.java │ │ │ └── resources │ │ │ └── application.yaml │ ├── cosmos-mvc-sample │ │ ├── BookStore.png │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── data │ │ │ │ │ └── cosmos │ │ │ │ │ └── sample │ │ │ │ │ └── ebookstore │ │ │ │ │ ├── EBookStoreApplication.java │ │ │ │ │ ├── Session │ │ │ │ │ └── SessionConfig.java │ │ │ │ │ ├── controller │ │ │ │ │ ├── cart │ │ │ │ │ │ └── CartController.java │ │ │ │ │ ├── customer │ │ │ │ │ │ ├── CustomerController.java │ │ │ │ │ │ └── CustomerForm.java │ │ │ │ │ ├── home │ │ │ │ │ │ └── HomeController.java │ │ │ │ │ └── order │ │ │ │ │ │ ├── CheckOutForm.java │ │ │ │ │ │ ├── OrderController.java │ │ │ │ │ │ ├── OrderForm.java │ │ │ │ │ │ └── OrderHelper.java │ │ │ │ │ ├── cosmos │ │ │ │ │ ├── BookRepositoryLoader.java │ │ │ │ │ ├── CosmosProperties.java │ │ │ │ │ └── StoreCosmosConfiguration.java │ │ │ │ │ ├── model │ │ │ │ │ ├── book │ │ │ │ │ │ ├── Book.java │ │ │ │ │ │ ├── BookRepository.java │ │ │ │ │ │ ├── BookRepositoryAsync.java │ │ │ │ │ │ └── Response.java │ │ │ │ │ ├── cart │ │ │ │ │ │ ├── Cart.java │ │ │ │ │ │ ├── CartItem.java │ │ │ │ │ │ ├── CartRepository.java │ │ │ │ │ │ ├── CartService.java │ │ │ │ │ │ └── DefaultCartService.java │ │ │ │ │ ├── customer │ │ │ │ │ │ ├── Address.java │ │ │ │ │ │ ├── Contact.java │ │ │ │ │ │ ├── CreditCard.java │ │ │ │ │ │ ├── Customer.java │ │ │ │ │ │ ├── CustomerRepository.java │ │ │ │ │ │ └── Name.java │ │ │ │ │ └── order │ │ │ │ │ │ ├── LineItem.java │ │ │ │ │ │ ├── Order.java │ │ │ │ │ │ └── OrderRepository.java │ │ │ │ │ └── security │ │ │ │ │ ├── CustomerDetailService.java │ │ │ │ │ ├── EBookStoreUserDetails.java │ │ │ │ │ └── WebSecurityConfig.java │ │ │ └── resources │ │ │ │ ├── application.yaml │ │ │ │ ├── logback.xml │ │ │ │ ├── static │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ ├── bootstrap.css.map │ │ │ │ │ ├── login.css │ │ │ │ │ ├── responsive.css │ │ │ │ │ ├── responsive.css.map │ │ │ │ │ ├── ui.css │ │ │ │ │ └── ui.css.map │ │ │ │ ├── fonts │ │ │ │ │ ├── fontawesome │ │ │ │ │ │ ├── css │ │ │ │ │ │ │ ├── fa-brands.css │ │ │ │ │ │ │ ├── fa-brands.min.css │ │ │ │ │ │ │ ├── fa-regular.css │ │ │ │ │ │ │ ├── fa-regular.min.css │ │ │ │ │ │ │ ├── fa-solid.css │ │ │ │ │ │ │ ├── fa-solid.min.css │ │ │ │ │ │ │ ├── fontawesome-all.css │ │ │ │ │ │ │ ├── fontawesome-all.min.css │ │ │ │ │ │ │ ├── fontawesome.css │ │ │ │ │ │ │ └── fontawesome.min.css │ │ │ │ │ │ ├── scss │ │ │ │ │ │ │ ├── _animated.scss │ │ │ │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ │ │ │ ├── _core.scss │ │ │ │ │ │ │ ├── _fixed-width.scss │ │ │ │ │ │ │ ├── _icons.scss │ │ │ │ │ │ │ ├── _larger.scss │ │ │ │ │ │ │ ├── _list.scss │ │ │ │ │ │ │ ├── _mixins.scss │ │ │ │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ │ │ ├── _stacked.scss │ │ │ │ │ │ │ ├── _variables.scss │ │ │ │ │ │ │ ├── fa-brands.scss │ │ │ │ │ │ │ ├── fa-regular.scss │ │ │ │ │ │ │ ├── fa-solid.scss │ │ │ │ │ │ │ └── fontawesome.scss │ │ │ │ │ │ └── webfonts │ │ │ │ │ │ │ ├── fa-brands-400.eot │ │ │ │ │ │ │ ├── fa-brands-400.svg │ │ │ │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ │ │ │ ├── fa-brands-400.woff │ │ │ │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ │ │ │ ├── fa-regular-400.eot │ │ │ │ │ │ │ ├── fa-regular-400.svg │ │ │ │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ │ │ │ ├── fa-regular-400.woff │ │ │ │ │ │ │ ├── fa-regular-400.woff2 │ │ │ │ │ │ │ ├── fa-solid-900.eot │ │ │ │ │ │ │ ├── fa-solid-900.svg │ │ │ │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ │ │ │ ├── fa-solid-900.woff │ │ │ │ │ │ │ └── fa-solid-900.woff2 │ │ │ │ │ ├── material-icons │ │ │ │ │ │ ├── MaterialIcons-Regular.eot │ │ │ │ │ │ ├── MaterialIcons-Regular.ttf │ │ │ │ │ │ ├── MaterialIcons-Regular.woff │ │ │ │ │ │ ├── MaterialIcons-Regular.woff2 │ │ │ │ │ │ └── material-icons.css │ │ │ │ │ └── roboto │ │ │ │ │ │ ├── Roboto-Bold.ttf │ │ │ │ │ │ ├── Roboto-Light.ttf │ │ │ │ │ │ ├── Roboto-Medium.ttf │ │ │ │ │ │ ├── Roboto-Regular.ttf │ │ │ │ │ │ ├── Roboto-Thin.ttf │ │ │ │ │ │ └── font.css │ │ │ │ ├── images │ │ │ │ │ ├── AzureAD.jpg │ │ │ │ │ ├── AzureSQL.jpg │ │ │ │ │ ├── CassandraDefinitiveguide.jpg │ │ │ │ │ ├── CleanCode.jpg │ │ │ │ │ ├── DockerInPractice.jpg │ │ │ │ │ ├── DockerNetworking.jpg │ │ │ │ │ ├── ElasticSearchInAction.jpg │ │ │ │ │ ├── GoInPractice.jpg │ │ │ │ │ ├── GraphAlgorithms.jpg │ │ │ │ │ ├── GuideToGraphDatabases.jpg │ │ │ │ │ ├── JavaConcurrency.jpg │ │ │ │ │ ├── Kubernetes.jpg │ │ │ │ │ ├── ProgrammingInRuby.jpg │ │ │ │ │ ├── RustProgrammingLanguage.jpg │ │ │ │ │ ├── Scala.jpg │ │ │ │ │ ├── ServiceFabric.jpg │ │ │ │ │ ├── SevenDatabasesInSevenWeeks.jpg │ │ │ │ │ ├── SpringMicroServices.jpg │ │ │ │ │ ├── blackHatGo.jpg │ │ │ │ │ ├── csharpInANutshell.jpg │ │ │ │ │ ├── dataIntensiveApplication.jpg │ │ │ │ │ ├── effectivejava.jpg │ │ │ │ │ ├── getProgrammingWithGo.jpg │ │ │ │ │ ├── highPerformaceMysql.jpg │ │ │ │ │ ├── kaafkDefnitiveGuide.jpg │ │ │ │ │ ├── masterring-kotlin.jpg │ │ │ │ │ ├── mongodb.jpg │ │ │ │ │ ├── node-design-patterns.jpg │ │ │ │ │ ├── nodeCookBook.jpg │ │ │ │ │ ├── patternsOfEAA.jpg │ │ │ │ │ ├── pragmaticProgrammer.jpg │ │ │ │ │ ├── programmingcsharp8.0.jpg │ │ │ │ │ ├── rabbitMQCookBook.jpg │ │ │ │ │ ├── softwareArchitect.jpg │ │ │ │ │ └── unitTesting.jpg │ │ │ │ ├── js │ │ │ │ │ ├── bootstrap.bundle.min.js │ │ │ │ │ ├── createaccount.js │ │ │ │ │ └── jquery-2.0.0.min.js │ │ │ │ └── plugins │ │ │ │ │ ├── fancybox │ │ │ │ │ ├── fancybox.min.css │ │ │ │ │ ├── fancybox.min.js │ │ │ │ │ └── index.html │ │ │ │ │ ├── owlcarousel │ │ │ │ │ ├── assets │ │ │ │ │ │ ├── ajax-loader.gif │ │ │ │ │ │ ├── owl.carousel.css │ │ │ │ │ │ ├── owl.carousel.min.css │ │ │ │ │ │ ├── owl.theme.default.css │ │ │ │ │ │ ├── owl.theme.default.min.css │ │ │ │ │ │ ├── owl.theme.green.css │ │ │ │ │ │ ├── owl.theme.green.min.css │ │ │ │ │ │ └── owl.video.play.png │ │ │ │ │ ├── owl.carousel.js │ │ │ │ │ └── owl.carousel.min.js │ │ │ │ │ ├── prism │ │ │ │ │ ├── prism.css │ │ │ │ │ └── prism.js │ │ │ │ │ └── slickslider │ │ │ │ │ ├── ajax-loader.gif │ │ │ │ │ ├── fonts │ │ │ │ │ ├── slick.eot │ │ │ │ │ ├── slick.svg │ │ │ │ │ ├── slick.ttf │ │ │ │ │ └── slick.woff │ │ │ │ │ ├── slick-theme.css │ │ │ │ │ ├── slick.css │ │ │ │ │ ├── slick.js │ │ │ │ │ └── slick.min.js │ │ │ │ └── templates │ │ │ │ ├── cart.html │ │ │ │ ├── checkout.html │ │ │ │ ├── create-account.html │ │ │ │ ├── index.html │ │ │ │ ├── login.html │ │ │ │ ├── orderconfirmation.html │ │ │ │ └── orders.html │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── spring │ │ │ └── cosmos │ │ │ └── ebookstore │ │ │ └── StoreApplicationTests.java │ └── cosmos-quickstart-samples │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── data │ │ │ └── cosmos │ │ │ └── samples │ │ │ ├── common │ │ │ └── User.java │ │ │ ├── featureexamples │ │ │ └── Pagination.java │ │ │ └── quickstart │ │ │ ├── CosmosProperties.java │ │ │ ├── ReactiveUserRepository.java │ │ │ ├── SampleAppConfiguration.java │ │ │ ├── SampleApplication.java │ │ │ └── UserRepository.java │ │ └── resources │ │ └── application.yaml ├── spring-cloud-azure-starter-cosmos │ └── spring-cloud-azure-cosmos-sample │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── cosmos │ │ │ │ ├── CosmosSampleApplication.java │ │ │ │ └── common │ │ │ │ ├── Address.java │ │ │ │ ├── Child.java │ │ │ │ ├── Family.java │ │ │ │ ├── Parent.java │ │ │ │ └── Pet.java │ │ │ └── resources │ │ │ └── application.yml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf └── spring-cloud-azure-starter-data-cosmos │ └── spring-cloud-azure-data-cosmos-sample │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── cosmos │ │ │ ├── CosmosSampleApplication.java │ │ │ ├── User.java │ │ │ └── UserRepository.java │ │ └── resources │ │ └── application.yml │ └── terraform │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── create-sp-using-azure-cli.md ├── eventgrid └── spring-cloud-azure-starter-eventgrid │ └── spring-cloud-azure-sample-eventgrid │ ├── README.md │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── com │ │ └── azure │ │ └── spring │ │ └── sample │ │ └── eventgrid │ │ ├── EventGridController.java │ │ └── EventGridSampleApplication.java │ └── resources │ └── application.yaml ├── eventhubs ├── spring-cloud-azure-starter-eventhubs │ └── eventhubs-client │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── eventhubs │ │ │ │ └── client │ │ │ │ └── EventHubClientApplication.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-starter-integration-eventhubs │ └── eventhubs-integration │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── eventhubs │ │ │ │ ├── EventHubIntegrationApplication.java │ │ │ │ ├── EventHubIntegrationConfiguration.java │ │ │ │ ├── ReceiveService.java │ │ │ │ └── SendController.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-starter │ └── spring-cloud-azure-sample-eventhubs-kafka │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── eventhubs │ │ │ │ └── kafka │ │ │ │ ├── EventHubKafkaBinderApplication.java │ │ │ │ └── SourceExample.java │ │ │ └── resources │ │ │ ├── application-rm.yaml │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-stream-binder-eventhubs │ ├── eventhubs-binder │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── eventhubs │ │ │ │ │ └── binder │ │ │ │ │ ├── BatchProducerAndConsumerConfiguration.java │ │ │ │ │ ├── DefaultProducerAndConsumerConfiguration.java │ │ │ │ │ ├── EventHubBinderApplication.java │ │ │ │ │ ├── ImperativeEventProducerController.java │ │ │ │ │ ├── ManualProducerAndConsumerConfiguration.java │ │ │ │ │ └── ReactiveEventProducerController.java │ │ │ │ └── resources │ │ │ │ ├── application-batch.yaml │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ └── eventhubs-multibinders │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── eventhubs │ │ │ │ └── multibinders │ │ │ │ ├── EventHubMultiBindersApplication.java │ │ │ │ ├── EventProducerConfiguration.java │ │ │ │ ├── EventProducerController.java │ │ │ │ └── ManualEventProducerConfiguration.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf └── spring-messaging-azure-eventhubs │ └── eventhubs-spring-messaging │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── eventhubs │ │ │ └── messaging │ │ │ ├── ConsumerService.java │ │ │ └── EventHubMessagingApplication.java │ │ └── resources │ │ └── application.yaml │ └── terraform │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── keyvault ├── azure-securtiy-keyvault-jca │ ├── README.md │ ├── run-with-command-line-client-side │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── web │ │ │ └── client │ │ │ └── SampleClient.java │ └── run-with-command-line-server-side │ │ ├── README.md │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── boot │ │ │ └── sample │ │ │ └── webapp │ │ │ ├── SampleController.java │ │ │ └── SpringBootWebappApplication.java │ │ └── resources │ │ └── keyvault.dummy ├── spring-cloud-azure-starter-keyvault-jca │ ├── README.md │ ├── ssl-bundles-rest-template │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── keyvault │ │ │ │ │ └── jca │ │ │ │ │ ├── RestTemplateConfiguration.java │ │ │ │ │ ├── RestTemplateController.java │ │ │ │ │ └── SslBundlesRestTemplateApplication.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ ├── ssl-bundles-server │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── keyvault │ │ │ │ │ └── jca │ │ │ │ │ ├── KeyVaultSslBundlesServerApplication.java │ │ │ │ │ ├── WebConfiguration.java │ │ │ │ │ └── WebController.java │ │ │ │ └── resources │ │ │ │ ├── application-client-auth.yaml │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ └── ssl-bundles-web-client │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── keyvault │ │ │ │ └── jca │ │ │ │ ├── KeyVaultSslBundlesWebClientApplication.java │ │ │ │ ├── WebClientConfiguration.java │ │ │ │ └── WebClientController.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf └── spring-cloud-azure-starter-keyvault-secrets │ ├── property-source │ ├── README.md │ ├── pom.xml │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── keyvault │ │ │ │ └── secrets │ │ │ │ └── sample │ │ │ │ └── single │ │ │ │ └── property │ │ │ │ └── source │ │ │ │ └── PropertySourceApplication.java │ │ │ └── resources │ │ │ ├── application-secrets.yml │ │ │ └── application.yml │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf │ └── secret-client │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── keyvault │ │ │ └── secrets │ │ │ └── sample │ │ │ └── secret │ │ │ └── client │ │ │ └── SecretClientApplication.java │ │ └── resources │ │ └── application.yml │ └── terraform │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── mysql └── spring-cloud-azure-starter-jdbc-mysql │ └── spring-cloud-azure-mysql-sample │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── passwordless │ │ │ └── mysql │ │ │ ├── MysqlApplication.java │ │ │ ├── Todo.java │ │ │ ├── TodoController.java │ │ │ └── TodoRepository.java │ │ └── resources │ │ └── application.yml │ └── terraform │ ├── main.tf │ ├── mysql_create_user.sql │ ├── outputs.tf │ ├── set_up_azure_ad_user.ps1 │ ├── set_up_azure_ad_user.sh │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── pom.xml ├── postgresql └── spring-cloud-azure-starter-jdbc-postgresql │ └── spring-cloud-azure-postgresql-sample │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── passwordless │ │ │ └── postgresql │ │ │ ├── PostgresqlApplication.java │ │ │ ├── Todo.java │ │ │ ├── TodoController.java │ │ │ └── TodoRepository.java │ │ └── resources │ │ └── application.yml │ └── terraform │ ├── create_non_admin_user.ps1 │ ├── create_non_admin_user.sh │ ├── main.tf │ ├── outputs.tf │ ├── postgresql_create_user.sql │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── servicebus ├── spring-cloud-azure-starter-integration-servicebus │ ├── multiple-namespaces │ │ ├── README.md │ │ ├── migration-guide.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── servicebus │ │ │ │ │ ├── CustomizedServiceBusProperties.java │ │ │ │ │ ├── IntegrationFlowConfiguration.java │ │ │ │ │ ├── MultipleAzureServiceBusNamespacesConfiguration.java │ │ │ │ │ └── ServiceBusIntegrationApplication.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ └── single-namespace │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── servicebus │ │ │ │ ├── QueueReceiveController.java │ │ │ │ ├── QueueSendController.java │ │ │ │ ├── ServiceBusIntegrationApplication.java │ │ │ │ ├── TopicReceiveController.java │ │ │ │ └── TopicSendController.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-starter-servicebus-jms │ ├── servicebus-jms-dlq-queue │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── jms │ │ │ │ │ └── queue │ │ │ │ │ ├── QueueReceiveService.java │ │ │ │ │ ├── QueueSendController.java │ │ │ │ │ ├── ServiceBusJmsDlqQueueApplication.java │ │ │ │ │ └── User.java │ │ │ │ └── resources │ │ │ │ ├── application.yaml │ │ │ │ └── log4j.properties │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ ├── servicebus-jms-queue │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── jms │ │ │ │ │ └── queue │ │ │ │ │ ├── QueueReceiveService.java │ │ │ │ │ ├── QueueSendController.java │ │ │ │ │ ├── ServiceBusJMSQueueApplication.java │ │ │ │ │ └── User.java │ │ │ │ └── resources │ │ │ │ ├── application.yaml │ │ │ │ └── log4j.properties │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ └── servicebus-jms-topic │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── jms │ │ │ │ └── topic │ │ │ │ ├── ServiceBusJMSTopicApplication.java │ │ │ │ ├── TopicReceiveService.java │ │ │ │ ├── TopicSendController.java │ │ │ │ └── User.java │ │ │ └── resources │ │ │ ├── application.yaml │ │ │ └── log4j.properties │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-starter-servicebus │ ├── servicebus-queue │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── jms │ │ │ │ │ └── queue │ │ │ │ │ ├── ServiceBusProcessorClientConfiguration.java │ │ │ │ │ └── ServiceBusQueueApplication.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ └── servicebus-topic │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── jms │ │ │ │ └── topic │ │ │ │ ├── ServiceBusProcessorClientConfiguration.java │ │ │ │ └── ServiceBusTopicApplication.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-stream-binder-servicebus │ ├── servicebus-multibinders │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── servicebus │ │ │ │ │ └── queue │ │ │ │ │ └── multibinders │ │ │ │ │ ├── ManualServiceProducerConfiguration.java │ │ │ │ │ ├── ServiceBusQueueMultiBindersApplication.java │ │ │ │ │ ├── ServiceProducerConfiguration.java │ │ │ │ │ └── ServiceProducerController.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ ├── servicebus-queue-binder-arm │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── servicebus │ │ │ │ │ └── queue │ │ │ │ │ └── binder │ │ │ │ │ └── arm │ │ │ │ │ ├── ServiceBusQueueBinderArmApplication.java │ │ │ │ │ └── ServiceProducerConfiguration.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ ├── servicebus-queue-binder │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── servicebus │ │ │ │ │ └── queue │ │ │ │ │ └── binder │ │ │ │ │ ├── ManualServiceProducerConfiguration.java │ │ │ │ │ ├── ServiceBusQueueBinderApplication.java │ │ │ │ │ ├── ServiceProducerConfiguration.java │ │ │ │ │ └── ServiceProducerController.java │ │ │ │ └── resources │ │ │ │ ├── application-rm.yaml │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ └── servicebus-topic-binder │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── servicebus │ │ │ │ └── topic │ │ │ │ └── binder │ │ │ │ ├── ManualServiceProducerConfiguration.java │ │ │ │ ├── ServiceBusTopicBinderApplication.java │ │ │ │ ├── ServiceProducerConfiguration.java │ │ │ │ └── ServiceProducerController.java │ │ │ └── resources │ │ │ ├── application-rm.yaml │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf └── spring-messaging-azure-servicebus │ └── servicebus-spring-messaging │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── servicebus │ │ │ └── messaging │ │ │ ├── ConsumerService.java │ │ │ └── ServiceBusMessagingApplication.java │ │ └── resources │ │ └── application.yaml │ └── terraform │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf ├── storage ├── spring-cloud-azure-starter-integration-storage-queue │ ├── storage-queue-integration │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ │ └── main │ │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── azure │ │ │ │ │ └── spring │ │ │ │ │ └── sample │ │ │ │ │ └── storage │ │ │ │ │ └── queue │ │ │ │ │ ├── ReceiveService.java │ │ │ │ │ ├── SendController.java │ │ │ │ │ └── StorageQueueIntegrationApplication.java │ │ │ │ └── resources │ │ │ │ └── application.yaml │ │ └── terraform │ │ │ ├── main.tf │ │ │ ├── outputs.tf │ │ │ ├── setup_env.ps1 │ │ │ ├── setup_env.sh │ │ │ └── variables.tf │ └── storage-queue-operation │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── storage │ │ │ │ └── queue │ │ │ │ └── operation │ │ │ │ ├── StorageQueueOperationApplication.java │ │ │ │ └── WebController.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-starter-storage-blob │ └── storage-blob-sample │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── storage │ │ │ │ └── resource │ │ │ │ ├── BlobController.java │ │ │ │ ├── SampleDataInitializer.java │ │ │ │ └── StorageBlobApplication.java │ │ │ └── resources │ │ │ └── application.yml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-starter-storage-file-share │ └── storage-file-sample │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── storage │ │ │ │ └── resource │ │ │ │ ├── FileController.java │ │ │ │ ├── SampleDataInitializer.java │ │ │ │ └── StorageFileShareApplication.java │ │ │ └── resources │ │ │ └── application.yml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf ├── spring-cloud-azure-starter-storage-queue │ └── storage-queue-client │ │ ├── README.md │ │ ├── pom.xml │ │ ├── src │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── azure │ │ │ │ └── spring │ │ │ │ └── sample │ │ │ │ └── storage │ │ │ │ └── queue │ │ │ │ └── StorageQueueClientApplication.java │ │ │ └── resources │ │ │ └── application.yaml │ │ └── terraform │ │ ├── main.tf │ │ ├── outputs.tf │ │ ├── setup_env.ps1 │ │ ├── setup_env.sh │ │ └── variables.tf └── spring-messaging-azure-storage-queue │ └── storage-queue-spring-messaging │ ├── README.md │ ├── pom.xml │ ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── azure │ │ │ └── spring │ │ │ └── sample │ │ │ └── storage │ │ │ └── queue │ │ │ └── messaging │ │ │ └── StorageQueueMessagingApplication.java │ │ └── resources │ │ └── application.yml │ └── terraform │ ├── main.tf │ ├── outputs.tf │ ├── setup_env.ps1 │ ├── setup_env.sh │ └── variables.tf └── testcontainers ├── README.md ├── spring-cloud-azure-testcontainers-for-cosmos-sample ├── pom.xml └── src │ └── test │ └── java │ └── CosmosTestcontainersTest.java ├── spring-cloud-azure-testcontainers-for-storage-blob-sample ├── pom.xml └── src │ └── test │ └── java │ └── StorageBlobTestcontainersTest.java └── spring-cloud-azure-testcontainers-for-storage-queue-sample ├── pom.xml └── src └── test └── java └── StorageQueueTestcontainersTest.java /.gitattributes: -------------------------------------------------------------------------------- 1 | # Declare files that will always have LF line endings. 2 | *.tf text eol=lf 3 | *.sh text eol=lf 4 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Instructions for CODEOWNERS file format and automatic build failure notifications: 2 | # https://github.blog/2017-07-06-introducing-code-owners/ 3 | # https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners 4 | 5 | * @Azure-Samples/spring-cloud-azure-maintain 6 | /appconfiguration/ @mrm9084 @Azure-Samples/spring-cloud-azure-maintain 7 | -------------------------------------------------------------------------------- /.github/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Microsoft Open Source Code of Conduct 2 | 3 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 4 | 5 | Resources: 6 | 7 | - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) 8 | - [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) 9 | - Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns 10 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "maven" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "daily" 12 | target-branch: "main" 13 | -------------------------------------------------------------------------------- /.github/workflows/.linkspector.yml: -------------------------------------------------------------------------------- 1 | dirs: 2 | - ./ 3 | ignorePatterns: 4 | - pattern: "^http://127.0.0.1" 5 | - pattern: "^https://127.0.0.1" 6 | - pattern: "^http://localhost" 7 | - pattern: "^https://localhost" 8 | - pattern: "^https://www.terraform.io" 9 | - pattern: "^https://mvnrepository.com/artifact/com.azure/azure-security-keyvault-jca" 10 | - pattern: "^https://www.microsoft.com/edge" 11 | - pattern: "^https://dev.mysql.com/downloads/shell/" 12 | aliveStatusCodes: 13 | - 200 -------------------------------------------------------------------------------- /.github/workflows/markdown-link-check.yml: -------------------------------------------------------------------------------- 1 | name: Markdown Links Check 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | markdown-link-check: 7 | runs-on: ubuntu-22.04 #workaround https://github.com/UmbrellaDocs/action-linkspector/issues/32 8 | steps: 9 | - uses: actions/checkout@master 10 | - uses: umbrelladocs/action-linkspector@v1.1.3 11 | with: 12 | reporter: github-pr-review 13 | config_file: '.github/workflows/.linkspector.yml' 14 | level: error 15 | fail_on_error: true 16 | -------------------------------------------------------------------------------- /.github/workflows/sync-label-from-azsdk-repo.yml: -------------------------------------------------------------------------------- 1 | name: Sync Labels 2 | on: 3 | workflow_dispatch: 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Fetch Labels 10 | run: curl https://api.github.com/repos/Azure/azure-sdk-for-java/labels\?per_page\=1000 | jq -c '.[] | select(.name | contains("spring"))' | jq -s >> labels.json 11 | 12 | - name: Label Sync 13 | uses: EndBug/label-sync@v2.1.0 14 | with: 15 | config-file: ./labels.json 16 | dry-run: false -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-add-application-roles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-add-application-roles.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-add-delegated-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-add-delegated-permissions.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-add-user-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-add-user-flow.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-configuration-application-roles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-configuration-application-roles.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-consent-application-and-delegated-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-consent-application-and-delegated-permissions.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-expose-an-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-expose-an-api.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-final-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-final-configuration.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-select-a-user-flow-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-select-a-user-flow-type.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-selected-application.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-selected-application.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-setting-relevant-content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-setting-relevant-content.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-user-flow-finally.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/docs/image-user-flow-finally.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-resource-server/src/main/java/com/azure/spring/sample/aad/b2c/AadB2cResourceServerSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad.b2c; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadB2cResourceServerSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(AadB2cResourceServerSampleApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory-b2c/aad-b2c-web-application/src/main/java/com/azure/spring/sample/aad/b2c/AadB2cOidcSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad.b2c; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadB2cOidcSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | // 14 | SpringApplication.run(AadB2cOidcSampleApplication.class, args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter-stateless/docs/demo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter-stateless/docs/demo.webp -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter-stateless/src/main/java/com/azure/spring/sample/aad/AadStatelessBackendSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadStatelessBackendSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(AadStatelessBackendSampleApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/add-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/add-permissions.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/application-registration-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/application-registration-1.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/application-registration-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/application-registration-2.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/create-secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/create-secret.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/grant-admin-consent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/grant-admin-consent.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/secret-value.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/secret-value.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/tokens-to-accept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/docs/tokens-to-accept.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/src/main/java/com/azure/spring/sample/aad/AadIntegrationSpringBootAutoconfigureSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadIntegrationSpringBootAutoconfigureSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(AadIntegrationSpringBootAutoconfigureSampleApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/src/main/resources/static/App/Scripts/homeCtrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular.module('todoApp') 3 | .controller('homeCtrl', ['$scope', 'msalAuthenticationService', '$location', function ($scope, msalService, $location) { 4 | $scope.login = function () { 5 | msalService.loginRedirect({ 6 | scopes: ["User.Read"] 7 | }); 8 | }; 9 | $scope.logout = function () { 10 | msalService.logout(); 11 | }; 12 | $scope.isActive = function (viewLocation) { 13 | return viewLocation === $location.path(); 14 | }; 15 | }]); 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/src/main/resources/static/App/Scripts/indexCtrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular.module('todoApp') 3 | .controller('indexCtrl', ['$scope', 'msalAuthenticationService', function ($scope, msalService) { 4 | 5 | }]); -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/src/main/resources/static/App/Scripts/userDataCtrl.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | angular.module('todoApp') 3 | .controller('userDataCtrl', ['$scope', 'msalAuthenticationService', function ($scope, msalService) { 4 | 5 | 6 | }]); -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-resource-server-by-filter/src/main/resources/static/App/Views/Home.html: -------------------------------------------------------------------------------- 1 | 
2 | home sweet home 3 |
4 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/aad-web-application-and-resource-server/src/main/java/com/azure/spring/sample/aad/AadOAuth2WebAppAndResourceServerSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadOAuth2WebAppAndResourceServerSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(AadOAuth2WebAppAndResourceServerSampleApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-aad-obo-flow-and-client-credential-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-aad-obo-flow-and-client-credential-flow.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-add-grant-admin-consent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-add-grant-admin-consent.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-add-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-add-permissions.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-resource-server-obo-add-scope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-resource-server-obo-add-scope.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-select-myapis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/docs/image-select-myapis.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server-obo/src/main/java/com/azure/spring/sample/aad/AadOAuth2ResourceServerOboSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadOAuth2ResourceServerOboSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(AadOAuth2ResourceServerOboSampleApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-add-a-scope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-add-a-scope.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-add-custom-apis-to-webapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-add-custom-apis-to-webapp.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-add-resource-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-add-resource-server.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-creat-secrets-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-creat-secrets-api.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-expose-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-expose-api.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-final.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-granted-permission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-granted-permission.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-protal-manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-protal-manage.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-register-a-web-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-register-a-web-api.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-set-application-id-url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/docs/image-set-application-id-url.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-resource-server/src/main/java/com/azure/spring/sample/aad/AadOAuth2ResourceServerSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadOAuth2ResourceServerSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(AadOAuth2ResourceServerSampleApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-add-a-platform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-add-a-platform.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-add-grant-admin-consent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-add-grant-admin-consent.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-add-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-add-permissions.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-create-app-secrets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-create-app-secrets.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-permissions.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-portal-manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-portal-manage.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-register-a-web-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-register-a-web-app.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-request-api-permissions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-request-api-permissions.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-secret-value.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-secret-value.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-select-myapis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/docs/image-select-myapis.png -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/aad-web-application/src/main/java/com/azure/spring/sample/aad/AadOAuth2WebAppSampleApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.aad; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class AadOAuth2WebAppSampleApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(AadOAuth2WebAppSampleApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /aad/spring-cloud-azure-starter-active-directory/web-client-access-resource-server/terraform/kill-port.ps1: -------------------------------------------------------------------------------- 1 | param ($port) 2 | 3 | $foundProcesses = netstat -ano|findstr $port 4 | $activePortPattern = ":$port\s.+LISTENING\s+\d+$" 5 | $pidNumberPattern = "\d+$" 6 | 7 | IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) { 8 | $matches = $foundProcesses | Select-String -Pattern $activePortPattern 9 | $firstMatch = $matches.Matches.Get(0).Value 10 | 11 | $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value 12 | 13 | taskkill /pid $pidNumber /f 14 | } -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/client/src/main/java/com/azure/spring/sample/activedirectory/reactive/webflux/oauth2/gateway/client/ClientApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.reactive.webflux.oauth2.gateway.client; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ClientApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ClientApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/client/src/main/java/com/azure/spring/sample/activedirectory/reactive/webflux/oauth2/gateway/client/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.reactive.webflux.oauth2.gateway.client.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is client-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/gateway/src/main/java/com/azure/spring/sample/activedirectory/reactive/webflux/oauth2/gateway/gateway/GatewayApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.reactive.webflux.oauth2.gateway.gateway; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class GatewayApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(GatewayApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/gateway/src/main/java/com/azure/spring/sample/activedirectory/reactive/webflux/oauth2/gateway/gateway/configuration/SecurityConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.reactive.webflux.oauth2.gateway.gateway.configuration; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; 5 | 6 | @EnableWebFluxSecurity 7 | @Configuration 8 | public class SecurityConfiguration { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-1/src/main/java/com/azure/spring/sample/activedirectory/oauth2/gateway/resourceserver1/ResourceServer1Application.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.oauth2.gateway.resourceserver1; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServer1Application { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServer1Application.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-1/src/main/java/com/azure/spring/sample/activedirectory/oauth2/gateway/resourceserver1/configuration/SecurityConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.oauth2.gateway.resourceserver1.configuration; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; 5 | 6 | @EnableWebFluxSecurity 7 | @Configuration 8 | public class SecurityConfiguration { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-1/src/main/java/com/azure/spring/sample/activedirectory/oauth2/gateway/resourceserver1/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.oauth2.gateway.resourceserver1.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/resource-server-1") 10 | public String home() { 11 | return "Hello, this is resource-server-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-1/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Please fill these placeholders before running this application: 2 | # 1. ${TENANT_ID} 3 | # 2. ${RESOURCE_SERVER_1_CLIENT_ID} 4 | 5 | logging: 6 | level: 7 | root: DEBUG 8 | server: 9 | port: 8081 10 | spring: 11 | http: 12 | client: 13 | factory: jdk 14 | security: 15 | oauth2: 16 | resourceserver: 17 | jwt: 18 | jwk-set-uri: https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys 19 | issuer-uri: https://login.microsoftonline.com/${TENANT_ID}/v2.0 20 | audiences: ${RESOURCE_SERVER_1_CLIENT_ID} 21 | profiles: 22 | active: develop 23 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-2/src/main/java/com/azure/spring/sample/activedirectory/reactive/webflux/oauth2/gateway/resourceserver2/ResourceServer2Application.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.reactive.webflux.oauth2.gateway.resourceserver2; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServer2Application { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServer2Application.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-2/src/main/java/com/azure/spring/sample/activedirectory/reactive/webflux/oauth2/gateway/resourceserver2/configuration/SecurityConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.reactive.webflux.oauth2.gateway.resourceserver2.configuration; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; 5 | 6 | @EnableWebFluxSecurity 7 | @Configuration 8 | public class SecurityConfiguration { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-2/src/main/java/com/azure/spring/sample/activedirectory/reactive/webflux/oauth2/gateway/resourceserver2/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.activedirectory.reactive.webflux.oauth2.gateway.resourceserver2.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/resource-server-2") 10 | public String home() { 11 | return "Hello, this is resource-server-2."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/resource-server-2/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Please fill these placeholders before running this application: 2 | # 1. ${TENANT_ID} 3 | # 2. ${RESOURCE_SERVER_2_CLIENT_ID} 4 | 5 | logging: 6 | level: 7 | root: DEBUG 8 | server: 9 | port: 8082 10 | spring: 11 | http: 12 | client: 13 | factory: jdk 14 | security: 15 | oauth2: 16 | resourceserver: 17 | jwt: 18 | jwk-set-uri: https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys 19 | issuer-uri: https://login.microsoftonline.com/${TENANT_ID}/v2.0 20 | audiences: ${RESOURCE_SERVER_2_CLIENT_ID} 21 | profiles: 22 | active: develop 23 | -------------------------------------------------------------------------------- /aad/spring-security/reactive/webflux/oauth2/spring-cloud-gateway/terraform/kill-port.ps1: -------------------------------------------------------------------------------- 1 | param ($port) 2 | 3 | $foundProcesses = netstat -ano|findstr $port 4 | $activePortPattern = ":$port\s.+LISTENING\s+\d+$" 5 | $pidNumberPattern = "\d+$" 6 | 7 | IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) { 8 | $matches = $foundProcesses | Select-String -Pattern $activePortPattern 9 | $firstMatch = $matches.Matches.Get(0).Value 10 | 11 | $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value 12 | 13 | taskkill /pid $pidNumber /f 14 | } -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample03/client/ClientApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample03.client; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ClientApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ClientApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample03/client/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample03.client.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is client-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/resource-server-1/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample03/resource/server1/ResourceServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample03.resource.server1; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/resource-server-1/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample03/resource/server1/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample03.resource.server1.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is resource-server-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/resource-server-1/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Please fill these placeholders before running this application: 2 | # 1. ${TENANT_ID} 3 | # 2. ${RESOURCE_SERVER_1_CLIENT_ID} 4 | 5 | logging: 6 | level: 7 | root: DEBUG 8 | server: 9 | port: 8081 10 | spring: 11 | security: 12 | oauth2: 13 | resourceserver: 14 | jwt: 15 | jwk-set-uri: https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys 16 | issuer-uri: https://login.microsoftonline.com/${TENANT_ID}/v2.0 17 | audience: ${RESOURCE_SERVER_1_CLIENT_ID} 18 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/resource-server-2/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample03/resource/server2/ResourceServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample03.resource.server2; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/resource-server-2/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample03/resource/server2/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample03.resource.server2.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is resource-server-2."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/resource-server-2/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Please fill these placeholders before running this application: 2 | # 1. ${TENANT_ID} 3 | # 2. ${RESOURCE_SERVER_2_CLIENT_ID} 4 | 5 | logging: 6 | level: 7 | root: DEBUG 8 | server: 9 | port: 8082 10 | spring: 11 | security: 12 | oauth2: 13 | resourceserver: 14 | jwt: 15 | jwk-set-uri: https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys 16 | issuer-uri: https://login.microsoftonline.com/${TENANT_ID}/v2.0 17 | audience: ${RESOURCE_SERVER_2_CLIENT_ID} 18 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-multiple-resource-server/terraform/kill-port.ps1: -------------------------------------------------------------------------------- 1 | param ($port) 2 | 3 | $foundProcesses = netstat -ano|findstr $port 4 | $activePortPattern = ":$port\s.+LISTENING\s+\d+$" 5 | $pidNumberPattern = "\d+$" 6 | 7 | IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) { 8 | $matches = $foundProcesses | Select-String -Pattern $activePortPattern 9 | $firstMatch = $matches.Matches.Get(0).Value 10 | 11 | $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value 12 | 13 | taskkill /pid $pidNumber /f 14 | } -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-resource-server/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample01/client/ClientApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample01.client; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ClientApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ClientApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-resource-server/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample01/client/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample01.client.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is client-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-resource-server/resource-server/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample01/resource/server/ResourceServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample01.resource.server; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-resource-server/resource-server/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample01/resource/server/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample01.resource.server.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is resource-server-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-resource-server/resource-server/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Please fill these placeholders before running this application: 2 | # 1. ${TENANT_ID} 3 | # 2. ${RESOURCE_SERVER_1_CLIENT_ID} 4 | 5 | logging: 6 | level: 7 | root: DEBUG 8 | server: 9 | port: 8081 10 | spring: 11 | security: 12 | oauth2: 13 | resourceserver: 14 | jwt: 15 | jwk-set-uri: https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys 16 | issuer-uri: https://login.microsoftonline.com/${TENANT_ID}/v2.0 17 | audience: ${RESOURCE_SERVER_1_CLIENT_ID} 18 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/client-access-resource-server/terraform/kill-port.ps1: -------------------------------------------------------------------------------- 1 | param ($port) 2 | 3 | $foundProcesses = netstat -ano|findstr $port 4 | $activePortPattern = ":$port\s.+LISTENING\s+\d+$" 5 | $pidNumberPattern = "\d+$" 6 | 7 | IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) { 8 | $matches = $foundProcesses | Select-String -Pattern $activePortPattern 9 | $firstMatch = $matches.Matches.Get(0).Value 10 | 11 | $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value 12 | 13 | taskkill /pid $pidNumber /f 14 | } -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/login-authenticate-using-private-key-jwt/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | page_type: sample 3 | languages: 4 | - java 5 | products: 6 | - azure-active-directory 7 | name: Developing a Spring Bott Web Application Supports Login by Microsoft Entra ID Account via Certificate 8 | description: This sample demonstrates how to develop a Spring Boot web application supports login by Microsoft Entra ID account via certificate. 9 | --- 10 | 11 | # Developing a Spring Bott Web Application Supports Login by Microsoft Entra Account via Certificate 12 | 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/login-authenticate-using-private-key-jwt/src/main/java/com/azure/spring/sample/reactive/servlet/oauth2/login/jwt/SampleApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.reactive.servlet.oauth2.login.jwt; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SampleApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SampleApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/login-authenticate-using-private-key-jwt/src/main/java/com/azure/spring/sample/reactive/servlet/oauth2/login/jwt/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.reactive.servlet.oauth2.login.jwt.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is client-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/login-authenticate-using-private-key-jwt/src/test/resources/encrypted-private-key-and-certificate.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/aad/spring-security/servlet/oauth2/login-authenticate-using-private-key-jwt/src/test/resources/encrypted-private-key-and-certificate.pfx -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/login/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample00/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample00; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is client-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/login/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample00/SampleApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample00; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class SampleApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(SampleApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/login/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:TENANT_ID=$(terraform -chdir=terraform output -raw TENANT_ID) 2 | $env:CLIENT_1_CLIENT_ID=$(terraform -chdir=terraform output -raw CLIENT_1_CLIENT_ID) 3 | $env:CLIENT_1_CLIENT_SECRET=$(terraform -chdir=terraform output -raw CLIENT_1_CLIENT_SECRET) 4 | $env:USER_NAME=$(terraform -chdir=terraform output -raw USER_NAME) 5 | $env:USER_PASSWORD=$(terraform -chdir=terraform output -raw USER_PASSWORD) 6 | 7 | echo TENANT_ID=$env:TENANT_ID 8 | echo CLIENT_1_CLIENT_ID=$env:CLIENT_1_CLIENT_ID 9 | echo CLIENT_1_CLIENT_SECRET=$env:CLIENT_1_CLIENT_SECRET 10 | 11 | echo "--------created user--------" 12 | echo USER_NAME=$env:USER_NAME 13 | echo USER_PASSWORD=$env:USER_PASSWORD 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-check-permissions-by-claims-in-access-token/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample02/client/ClientApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample02.client; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ClientApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ClientApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-check-permissions-by-claims-in-access-token/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample02/client/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample02.client.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is client-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-check-permissions-by-claims-in-access-token/resource-server/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample02/resource/server/ResourceServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample02.resource.server; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-check-permissions-by-claims-in-access-token/resource-server/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample02/resource/server/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample02.resource.server.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is resource-server-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-check-permissions-by-claims-in-access-token/resource-server/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Please fill these placeholders before running this application: 2 | # 1. ${TENANT_ID} 3 | # 2. ${RESOURCE_SERVER_1_CLIENT_ID} 4 | 5 | logging: 6 | level: 7 | root: DEBUG 8 | server: 9 | port: 8081 10 | spring: 11 | security: 12 | oauth2: 13 | resourceserver: 14 | jwt: 15 | jwk-set-uri: https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys 16 | issuer-uri: https://login.microsoftonline.com/${TENANT_ID}/v2.0 17 | audience: ${RESOURCE_SERVER_1_CLIENT_ID} 18 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-check-permissions-by-claims-in-access-token/terraform/kill-port.ps1: -------------------------------------------------------------------------------- 1 | param ($port) 2 | 3 | $foundProcesses = netstat -ano|findstr $port 4 | $activePortPattern = ":$port\s.+LISTENING\s+\d+$" 5 | $pidNumberPattern = "\d+$" 6 | 7 | IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) { 8 | $matches = $foundProcesses | Select-String -Pattern $activePortPattern 9 | $firstMatch = $matches.Matches.Get(0).Value 10 | 11 | $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value 12 | 13 | taskkill /pid $pidNumber /f 14 | } -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample04/client/ClientApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample04.client; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ClientApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ClientApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/client/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample04/client/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample04.client.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is client-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/resource-server-1/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample04/resource/server1/ResourceServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample04.resource.server1; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/resource-server-1/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample04/resource/server1/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample04.resource.server1.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is resource-server-1."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/resource-server-2/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample04/resource/server2/ResourceServerApplication.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample04.resource.server2; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class ResourceServerApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(ResourceServerApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/resource-server-2/src/main/java/com/azure/spring/sample/active/directory/oauth2/servlet/sample04/resource/server2/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.active.directory.oauth2.servlet.sample04.resource.server2.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HomeController { 8 | 9 | @GetMapping("/") 10 | public String home() { 11 | return "Hello, this is resource-server-2."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/resource-server-2/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Please fill these placeholders before running this application: 2 | # 1. ${TENANT_ID} 3 | # 2. ${RESOURCE_SERVER_2_CLIENT_ID} 4 | 5 | logging: 6 | level: 7 | root: DEBUG 8 | server: 9 | port: 8082 10 | spring: 11 | security: 12 | oauth2: 13 | resourceserver: 14 | jwt: 15 | jwk-set-uri: https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys 16 | issuer-uri: https://login.microsoftonline.com/${TENANT_ID}/v2.0 17 | audience: ${RESOURCE_SERVER_2_CLIENT_ID} 18 | -------------------------------------------------------------------------------- /aad/spring-security/servlet/oauth2/resource-server-support-on-behalf-of-flow/terraform/kill-port.ps1: -------------------------------------------------------------------------------- 1 | param ($port) 2 | 3 | $foundProcesses = netstat -ano|findstr $port 4 | $activePortPattern = ":$port\s.+LISTENING\s+\d+$" 5 | $pidNumberPattern = "\d+$" 6 | 7 | IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) { 8 | $matches = $foundProcesses | Select-String -Pattern $activePortPattern 9 | $firstMatch = $matches.Matches.Get(0).Value 10 | 11 | $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value 12 | 13 | taskkill /pid $pidNumber /f 14 | } -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-convert-sample/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | page_type: sample 3 | languages: 4 | - java 5 | products: 6 | - azure-app-configuration 7 | name: Converting a Spring Boot Application With Cosmos Db to Be Using App Configuration and Key Vault 8 | description: This sample demonstrates how to convert a Spring Boot application with Cosmos DB to be using App Configuration and Key Vault. 9 | --- 10 | 11 | # Converting a Spring Boot Application With Cosmos Db to Be Using App Configuration and Key Vault 12 | 13 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-convert-sample/spring-cloud-azure-appconfiguration-config-convert-sample-complete/README.md: -------------------------------------------------------------------------------- 1 | Please refer to [spring-cloud-azure-appconfiguration-config-convert-sample-initial](../spring-cloud-azure-appconfiguration-config-convert-sample-initial/README.md) to get more information about this sample. 2 | 3 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-convert-sample/spring-cloud-azure-appconfiguration-config-convert-sample-complete/src/main/java/sample/convert/UserRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package sample.convert; 5 | 6 | import com.azure.spring.data.cosmos.repository.ReactiveCosmosRepository; 7 | import org.springframework.stereotype.Repository; 8 | import reactor.core.publisher.Flux; 9 | 10 | @Repository 11 | public interface UserRepository extends ReactiveCosmosRepository { 12 | 13 | Flux findByFirstName(String firstName); 14 | } 15 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-convert-sample/spring-cloud-azure-appconfiguration-config-convert-sample-complete/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.azure.appconfiguration.stores[0].connection-string=${CONFIG_STORE_CONNECTION_STRING} 2 | spring.cloud.azure.cosmos.endpoint=${COSMOS-URL} 3 | spring.cloud.azure.cosmos.key=${COSMOS-KEY} 4 | spring.cloud.azure.cosmos.database=${COSMOS-DATABASENAME} -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-convert-sample/spring-cloud-azure-appconfiguration-config-convert-sample-initial/src/main/java/sample/convert/UserRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package sample.convert; 5 | 6 | import com.azure.spring.data.cosmos.repository.ReactiveCosmosRepository; 7 | import org.springframework.stereotype.Repository; 8 | import reactor.core.publisher.Flux; 9 | 10 | @Repository 11 | public interface UserRepository extends ReactiveCosmosRepository { 12 | 13 | Flux findByFirstName(String firstName); 14 | } 15 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-convert-sample/spring-cloud-azure-appconfiguration-config-convert-sample-initial/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.azure.cosmos.endpoint=${COSMOS-URL} 2 | spring.cloud.azure.cosmos.key=${COSMOS-KEY} 3 | spring.cloud.azure.cosmos.database=${COSMOS-DATABASENAME} 4 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-sample/src/main/java/com/example/BootstrapConfiguration.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.example; 4 | 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | import org.springframework.context.annotation.Configuration; 8 | 9 | @Configuration 10 | public class BootstrapConfiguration { 11 | 12 | private static final Logger LOGGER = LoggerFactory.getLogger(BootstrapConfiguration.class); 13 | } 14 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-sample/src/main/java/com/example/MessageProperties.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.example; 4 | 5 | import org.springframework.boot.context.properties.ConfigurationProperties; 6 | 7 | @ConfigurationProperties(prefix = "config") 8 | public class MessageProperties { 9 | private String message; 10 | 11 | public String getMessage() { 12 | return message; 13 | } 14 | 15 | public void setMessage(String message) { 16 | this.message = message; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-sample/src/main/resources/bootstrap.yaml: -------------------------------------------------------------------------------- 1 | # Use default application name and no profile configured 2 | # Keys starting with /application/ will be matched 3 | spring: 4 | cloud: 5 | azure: 6 | appconfiguration: 7 | stores: 8 | - connection-string: ${CONFIG_STORE_CONNECTION_STRING} -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-appconfiguration-config/spring-cloud-azure-appconfiguration-config-sample/src/main/resources/data/sample-data.json: -------------------------------------------------------------------------------- 1 | { 2 | "/application/config.message": "hello from default application", 3 | "/application_dev/config.message": "hello from default application dev profile", 4 | "/foo/config.message": "hello from foo application", 5 | "/foo_dev/config.message": "hello from foo application dev profile" 6 | } 7 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-feature-management-web-sample/src/main/java/com/example/FeatureManagerWebApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.example; 4 | 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | @SpringBootApplication 9 | public class FeatureManagerWebApplication { 10 | public static void main(String[] args) { 11 | SpringApplication.run(FeatureManagerWebApplication.class, args); 12 | } 13 | 14 | } 15 | 16 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-feature-management-web-sample/src/main/resources/data/sample-data.yml: -------------------------------------------------------------------------------- 1 | .appconfig: 2 | featureflag/Beta: >- 3 | {"id":"Beta","description":"Test 4 | Feature","enabled":true,"conditions":{"client_filters":[{"name":"Random","parameters":{"chance":"50"}}]}} -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-targeting-filter-web-sample/images/default-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-targeting-filter-web-sample/images/default-page.png -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-targeting-filter-web-sample/images/page-with-included-user-id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-targeting-filter-web-sample/images/page-with-included-user-id.png -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-targeting-filter-web-sample/src/main/java/com/example/demo/DemoApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.example.demo; 4 | 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | @SpringBootApplication 9 | public class DemoApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(DemoApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-targeting-filter-web-sample/src/main/resources/data/sample-data.yml: -------------------------------------------------------------------------------- 1 | .appconfig: 2 | featureflag/beta: >- 3 | {"id":"beta","description":"Test 4 | Feature","enabled":true,"conditions":{"client_filters":[{"name":"targetingFilter","parameters":{"Audience":{"Users":["Jeff","Alicia"],"Groups":[{"Name":"Ring0","RolloutPercentage":100},{"Name":"Ring1","RolloutPercentage":100}],"DefaultRolloutPercentage":50,"Exclusion":{"Users":["Ross"],"Groups":["Ring2"]}}}}]}} -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management-web/spring-cloud-azure-targeting-filter-web-sample/src/main/resources/static/css/main.css: -------------------------------------------------------------------------------- 1 | html { 2 | position: relative; 3 | min-height: 100%; 4 | } 5 | body { 6 | margin-bottom: 60px; 7 | } 8 | .footer { 9 | position: absolute; 10 | bottom: 0; 11 | width: 100%; 12 | height: 60px; 13 | line-height: 60px; 14 | background-color: #f5f5f5; 15 | } 16 | 17 | body > .container { 18 | padding: 60px 15px 0; 19 | } 20 | 21 | .footer > .container { 22 | padding-right: 15px; 23 | padding-left: 15px; 24 | } 25 | 26 | code { 27 | font-size: 80%; 28 | } -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management/spring-cloud-azure-feature-management-sample/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | feature-management: 2 | beta: 3 | enabled-for: 4 | - name: Random 5 | parameters: 6 | chance: "80" -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-feature-management/spring-cloud-azure-feature-management-sample/src/main/resources/data/sample-data.yml: -------------------------------------------------------------------------------- 1 | .appconfig: 2 | featureflag/Beta: >- 3 | {"id":"Beta","description":"Test 4 | Feature","enabled":true,"conditions":{"client_filters":[{"name":"Random","parameters":{"chance":"50"}}]}} -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration-config/spring-cloud-azure-starter-appconfiguration-config-entraid-sample/src/main/java/example/AppConfiguration.java: -------------------------------------------------------------------------------- 1 | package example; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | 6 | @Configuration 7 | public class AppConfiguration { 8 | 9 | @Bean 10 | public AppConfigClientCustomizer clientCustomizers() { 11 | return new AppConfigClientCustomizer(); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration-config/spring-cloud-azure-starter-appconfiguration-config-entraid-sample/src/main/java/example/Application.java: -------------------------------------------------------------------------------- 1 | package example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 6 | 7 | @SpringBootApplication 8 | @EnableConfigurationProperties 9 | public class Application { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(Application.class, args); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration-config/spring-cloud-azure-starter-appconfiguration-config-entraid-sample/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.cloud.bootstrap.BootstrapConfiguration=\ 2 | example.AppConfiguration 3 | 4 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration-config/spring-cloud-azure-starter-appconfiguration-config-entraid-sample/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.azure.appconfiguration.stores[0].endpoint=${CONFIG_STORE_ENDPOINT} 2 | 3 | spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=true 4 | spring.cloud.azure.appconfiguration.stores[0].monitoring.refresh-interval=5s 5 | spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key=sentinel 6 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration-config/spring-cloud-azure-starter-appconfiguration-config-sample/src/main/java/example/Application.java: -------------------------------------------------------------------------------- 1 | package example; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 6 | 7 | @SpringBootApplication 8 | @EnableConfigurationProperties 9 | public class Application { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(Application.class, args); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration-config/spring-cloud-azure-starter-appconfiguration-config-sample/src/main/resources/bootstrap.properties: -------------------------------------------------------------------------------- 1 | spring.cloud.azure.appconfiguration.stores[0].connection-string=${CONFIG_STORE_CONNECTION_STRING} 2 | 3 | spring.cloud.azure.appconfiguration.stores[0].selects[0].label-filter=,${spring.profiles.active} 4 | spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=true 5 | spring.cloud.azure.appconfiguration.stores[0].monitoring.refresh-interval=5s 6 | spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key=sentinel 7 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration/appconfiguration-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | appconfiguration: 5 | endpoint: ${APPCONFIGURATION_ENDPOINT} 6 | 7 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration/appconfiguration-client/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "APPCONFIGURATION_ENDPOINT" { 2 | value = azurerm_app_configuration.appconfig_resource.endpoint 3 | description = "The app configuration endpoint." 4 | } 5 | 6 | output "RESOURCE_GROUP_NAME" { 7 | value = azurerm_resource_group.main.name 8 | description = "The resource group name." 9 | } 10 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration/appconfiguration-client/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:APPCONFIGURATION_ENDPOINT=$(terraform -chdir=terraform output -raw APPCONFIGURATION_ENDPOINT) 2 | 3 | echo APPCONFIGURATION_ENDPOINT=$env:APPCONFIGURATION_ENDPOINT 4 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration/appconfiguration-client/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export APPCONFIGURATION_ENDPOINT=$(terraform -chdir=./terraform output -raw APPCONFIGURATION_ENDPOINT) 2 | echo APPCONFIGURATION_ENDPOINT=$APPCONFIGURATION_ENDPOINT 3 | -------------------------------------------------------------------------------- /appconfiguration/spring-cloud-azure-starter-appconfiguration/appconfiguration-client/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "appconfiguration-client" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /cache/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cache/.gitignore -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample-passwordless/src/main/java/com/azure/spring/sample/cache/CachePasswordlessApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.cache; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | import org.springframework.cache.annotation.EnableCaching; 9 | 10 | @SpringBootApplication 11 | @EnableCaching 12 | public class CachePasswordlessApplication { 13 | 14 | public static void main(String[] args) { 15 | SpringApplication.run(CachePasswordlessApplication.class, args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample-passwordless/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | redis: 4 | host: ${AZURE_CACHE_REDIS_HOST} 5 | port: 6380 6 | username: ${AZURE_CACHE_REDIS_USERNAME} 7 | ssl: 8 | enabled: true 9 | azure: 10 | passwordless-enabled: true 11 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample-passwordless/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "AZURE_CACHE_REDIS_HOST" { 2 | value = azurerm_redis_cache.redis.hostname 3 | description = "The host name of the Redis instance." 4 | } 5 | 6 | output "AZURE_CACHE_REDIS_USERNAME" { 7 | value = data.azuread_client_config.current.object_id 8 | description = "The username of the Redis instance." 9 | } -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample-passwordless/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_CACHE_REDIS_HOST=$(terraform -chdir=terraform output -raw AZURE_CACHE_REDIS_HOST) 2 | $env:AZURE_CACHE_REDIS_USERNAME=$(terraform -chdir=terraform output -raw AZURE_CACHE_REDIS_USERNAME) 3 | 4 | echo AZURE_CACHE_REDIS_HOST=$env:AZURE_CACHE_REDIS_HOST 5 | echo AZURE_CACHE_REDIS_USERNAME=$env:AZURE_CACHE_REDIS_USERNAME 6 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample-passwordless/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_CACHE_REDIS_HOST=$(terraform -chdir=./terraform output -raw AZURE_CACHE_REDIS_HOST) 2 | export AZURE_CACHE_REDIS_USERNAME=$(terraform -chdir=./terraform output -raw AZURE_CACHE_REDIS_USERNAME) 3 | 4 | echo AZURE_CACHE_REDIS_HOST=AZURE_CACHE_REDIS_HOST 5 | echo AZURE_CACHE_REDIS_USERNAME=AZURE_CACHE_REDIS_USERNAME 6 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample-passwordless/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "cache-sample" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample/src/main/java/com/azure/spring/sample/cache/CacheApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.cache; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | import org.springframework.cache.annotation.EnableCaching; 9 | 10 | @SpringBootApplication 11 | @EnableCaching 12 | public class CacheApplication { 13 | 14 | public static void main(String[] args) { 15 | SpringApplication.run(CacheApplication.class, args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | profile: 5 | subscription-id: ${AZURE_SUBSCRIPTION_ID} 6 | redis: 7 | name: ${AZURE_CACHE_REDIS_NAME} 8 | resource: 9 | resource-group: ${AZURE_RESOURCE_GROUP} 10 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "AZURE_SUBSCRIPTION_ID" { 2 | value = data.azurerm_subscription.current.subscription_id 3 | description = "The subscription ID of the resource." 4 | } 5 | 6 | output "AZURE_RESOURCE_GROUP" { 7 | value = azurerm_redis_cache.redis.resource_group_name 8 | description = "The resource group name of the resource." 9 | } 10 | 11 | output "AZURE_CACHE_REDIS_NAME" { 12 | value = azurerm_redis_cache.redis.name 13 | description = "The DNS name of the Redis instance." 14 | } 15 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_SUBSCRIPTION_ID=$(terraform -chdir=terraform output -raw AZURE_SUBSCRIPTION_ID) 2 | $env:AZURE_RESOURCE_GROUP=$(terraform -chdir=terraform output -raw AZURE_RESOURCE_GROUP) 3 | $env:AZURE_CACHE_REDIS_NAME=$(terraform -chdir=terraform output -raw AZURE_CACHE_REDIS_NAME) 4 | 5 | echo AZURE_SUBSCRIPTION_ID=$env:AZURE_SUBSCRIPTION_ID 6 | echo AZURE_RESOURCE_GROUP=$env:AZURE_RESOURCE_GROUP 7 | echo AZURE_CACHE_REDIS_NAME=$env:AZURE_CACHE_REDIS_NAME 8 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_SUBSCRIPTION_ID=$(terraform -chdir=./terraform output -raw AZURE_SUBSCRIPTION_ID) 2 | export AZURE_RESOURCE_GROUP=$(terraform -chdir=./terraform output -raw AZURE_RESOURCE_GROUP) 3 | export AZURE_CACHE_REDIS_NAME=$(terraform -chdir=./terraform output -raw AZURE_CACHE_REDIS_NAME) 4 | 5 | echo AZURE_SUBSCRIPTION_ID=$AZURE_SUBSCRIPTION_ID 6 | echo AZURE_RESOURCE_GROUP=$AZURE_RESOURCE_GROUP 7 | echo AZURE_CACHE_REDIS_NAME=$AZURE_CACHE_REDIS_NAME 8 | -------------------------------------------------------------------------------- /cache/spring-cloud-azure-redis-sample/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "cache-sample" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /cosmos/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/.gitignore -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-aad-sample/media/aad-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-aad-sample/media/aad-app.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-aad-sample/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | profiles: 3 | active: dev 4 | data: 5 | cosmos: 6 | uri: 7 | tenantId: 8 | clientId: 9 | clientSecret: 10 | defaultScope: https://.documents.azure.com/.default 11 | databaseName: testdb 12 | queryMetricsEnabled: true 13 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/resource/result-in-mysql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/resource/result-in-mysql.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/resource/result-in-primary-cosmos-database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/resource/result-in-primary-cosmos-database.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/resource/result-in-secondary-cosmos-database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/resource/result-in-secondary-cosmos-database.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/src/main/java/com/azure/spring/sample/cosmos/multi/database/multiple/account/repository/cosmos/CosmosUserRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.cosmos.multi.database.multiple.account.repository.cosmos; 5 | import com.azure.spring.data.cosmos.repository.ReactiveCosmosRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | @Repository 9 | public interface CosmosUserRepository extends ReactiveCosmosRepository { 10 | } 11 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-multi-account/src/main/java/com/azure/spring/sample/cosmos/multi/database/multiple/account/repository/mysql/MysqlUserRepository.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.sample.cosmos.multi.database.multiple.account.repository.mysql; 2 | 3 | import org.springframework.data.repository.CrudRepository; 4 | 5 | public interface MysqlUserRepository extends CrudRepository { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/resource/result-in-cosmos-database1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/resource/result-in-cosmos-database1.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/resource/result-in-cosmos-database2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/resource/result-in-cosmos-database2.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/src/main/java/com/azure/spring/sample/cosmos/multi/database/repository1/User1Repository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.cosmos.multi.database.repository1; 5 | 6 | import com.azure.spring.data.cosmos.repository.ReactiveCosmosRepository; 7 | import org.springframework.stereotype.Repository; 8 | 9 | @Repository 10 | public interface User1Repository extends ReactiveCosmosRepository { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/src/main/java/com/azure/spring/sample/cosmos/multi/database/repository2/User2Repository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.cosmos.multi.database.repository2; 5 | 6 | import com.azure.spring.data.cosmos.repository.ReactiveCosmosRepository; 7 | import org.springframework.stereotype.Repository; 8 | 9 | @Repository 10 | public interface User2Repository extends ReactiveCosmosRepository { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | azure: 2 | cosmos: 3 | uri: ${AZURE_COSMOS_URI} 4 | key: ${AZURE_COSMOS_KEY} 5 | secondary-key: ${AZURE_COSMOS_SECONDARY_KEY} 6 | database: ${AZURE_COSMOS_DATABASE} 7 | populate-query-metrics: if-populate-query-metrics 8 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_COSMOS_URI=$(terraform -chdir=terraform output -raw azure_cosmos_endpoint) 2 | $env:AZURE_COSMOS_KEY=$(terraform -chdir=terraform output -raw azure_cosmos_primary_key) 3 | $env:AZURE_COSMOS_SECONDARY_KEY=$(terraform -chdir=terraform output -raw azure_cosmos_secondary_key) 4 | $env:AZURE_COSMOS_DATABASE=$(terraform -chdir=terraform output -raw cosmos_database_name) 5 | 6 | echo AZURE_COSMOS_URI=$env:AZURE_COSMOS_URI 7 | echo AZURE_COSMOS_KEY=$env:AZURE_COSMOS_KEY 8 | echo AZURE_COSMOS_SECONDARY_KEY=$env:AZURE_COSMOS_SECONDARY_KEY 9 | echo AZURE_COSMOS_DATABASE=$env:AZURE_COSMOS_DATABASE 10 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-database-single-account/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_COSMOS_URI=$(terraform -chdir=./terraform output -raw azure_cosmos_endpoint) 2 | export AZURE_COSMOS_KEY=$(terraform -chdir=./terraform output -raw azure_cosmos_primary_key) 3 | export AZURE_COSMOS_SECONDARY_KEY=$(terraform -chdir=./terraform output -raw azure_cosmos_secondary_key) 4 | export AZURE_COSMOS_DATABASE=$(terraform -chdir=./terraform output -raw cosmos_database_name) 5 | 6 | echo AZURE_COSMOS_URI=$AZURE_COSMOS_URI 7 | echo AZURE_COSMOS_KEY=$AZURE_COSMOS_KEY 8 | echo AZURE_COSMOS_SECONDARY_KEY=$AZURE_COSMOS_SECONDARY_KEY 9 | echo AZURE_COSMOS_DATABASE=$AZURE_COSMOS_DATABASE 10 | 11 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-tenant-samples/multi-tenant-by-container/src/main/java/com/azure/spring/data/cosmos/example/Application.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.example; 4 | 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | @SpringBootApplication 9 | public class Application { 10 | public static void main(String[] args) { 11 | SpringApplication.run(Application.class, args); 12 | } 13 | } -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-tenant-samples/multi-tenant-by-container/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | cosmos: 4 | uri: ${ACCOUNT_HOST} 5 | key: ${ACCOUNT_KEY} 6 | databaseName: tenants 7 | partitionKeyPath: /lastName 8 | queryMetricsEnabled: true 9 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-tenant-samples/multi-tenant-by-database/src/main/java/com/azure/spring/data/cosmos/example/Application.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.example; 4 | 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | @SpringBootApplication 9 | public class Application { 10 | public static void main(String[] args) { 11 | SpringApplication.run(Application.class, args); 12 | } 13 | } -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-tenant-samples/multi-tenant-by-database/src/main/java/com/azure/spring/data/cosmos/example/OrderRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.example; 4 | 5 | import com.azure.spring.data.cosmos.repository.CosmosRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | @Repository 9 | public interface OrderRepository extends CosmosRepository { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-tenant-samples/multi-tenant-by-database/src/main/java/com/azure/spring/data/cosmos/example/UserRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.example; 4 | 5 | import com.azure.spring.data.cosmos.repository.CosmosRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | @Repository 9 | public interface UserRepository extends CosmosRepository { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-multi-tenant-samples/multi-tenant-by-database/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | cosmos: 4 | uri: ${ACCOUNT_HOST} 5 | key: ${ACCOUNT_KEY} 6 | databaseName: default 7 | queryMetricsEnabled: true 8 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/BookStore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/BookStore.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/java/com/azure/spring/data/cosmos/sample/ebookstore/EBookStoreApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.sample.ebookstore; 4 | 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | 8 | @SpringBootApplication 9 | public class EBookStoreApplication { 10 | public static void main(String[] args) { 11 | SpringApplication.run(EBookStoreApplication.class, args); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/java/com/azure/spring/data/cosmos/sample/ebookstore/Session/SessionConfig.java: -------------------------------------------------------------------------------- 1 | package com.azure.spring.data.cosmos.sample.ebookstore.Session; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.session.web.context.AbstractHttpSessionApplicationInitializer; 5 | 6 | @Configuration 7 | public class SessionConfig extends AbstractHttpSessionApplicationInitializer { 8 | } 9 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/java/com/azure/spring/data/cosmos/sample/ebookstore/controller/order/CheckOutForm.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.sample.ebookstore.controller.order; 4 | 5 | public class CheckOutForm { 6 | } 7 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/java/com/azure/spring/data/cosmos/sample/ebookstore/model/book/BookRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.sample.ebookstore.model.book; 4 | 5 | import com.azure.spring.data.cosmos.repository.CosmosRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | @Repository 9 | public interface BookRepository extends CosmosRepository { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/java/com/azure/spring/data/cosmos/sample/ebookstore/model/cart/CartRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.sample.ebookstore.model.cart; 4 | 5 | import com.azure.spring.data.cosmos.repository.CosmosRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | @Repository 9 | public interface CartRepository extends CosmosRepository { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/java/com/azure/spring/data/cosmos/sample/ebookstore/model/cart/CartService.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.sample.ebookstore.model.cart; 4 | 5 | public interface CartService { 6 | public void removeItemFromCart(String cartId, String itemId); 7 | public Integer getNumberOfItemsInTheCart(String id); 8 | public void deleteCart(String id, String partitionKey); 9 | public void addItemToCart(String cartId, CartItem item); 10 | public Cart getCart(String id); 11 | } 12 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/java/com/azure/spring/data/cosmos/sample/ebookstore/model/customer/CustomerRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.sample.ebookstore.model.customer; 4 | 5 | import com.azure.spring.data.cosmos.repository.CosmosRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | @Repository 9 | public interface CustomerRepository extends CosmosRepository { 10 | } 11 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring.main.allow-circular-references: true 2 | server: 3 | port: 81 4 | azure: 5 | cosmos: 6 | bookstore: 7 | uri: 8 | key: 9 | secondaryKey: 10 | storeDatabase: store 11 | securityDatabase: security 12 | populateQueryMetrics: if-populate-query-metrics -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | animation: fa-spin 2s infinite linear; 6 | } 7 | 8 | .#{$fa-css-prefix}-pulse { 9 | animation: fa-spin 1s infinite steps(8); 10 | } 11 | 12 | @keyframes fa-spin { 13 | 0% { 14 | transform: rotate(0deg); 15 | } 16 | 17 | 100% { 18 | transform: rotate(360deg); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | border: solid .08em $fa-border-color; 6 | border-radius: .1em; 7 | padding: .2em .25em .15em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix}, 14 | .fas, 15 | .far, 16 | .fal, 17 | .fab { 18 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 19 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 20 | } 21 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}, 5 | .fas, 6 | .far, 7 | .fal, 8 | .fab { 9 | -moz-osx-font-smoothing: grayscale; 10 | -webkit-font-smoothing: antialiased; 11 | display: inline-block; 12 | font-style: normal; 13 | font-variant: normal; 14 | text-rendering: auto; 15 | line-height: 1; 16 | } 17 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | text-align: center; 5 | width: (20em / 16); 6 | } 7 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | // makes the font 33% larger relative to the icon container 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -.0667em; 9 | } 10 | 11 | .#{$fa-css-prefix}-xs { 12 | font-size: .75em; 13 | } 14 | 15 | .#{$fa-css-prefix}-sm { 16 | font-size: .875em; 17 | } 18 | 19 | @for $i from 1 through 10 { 20 | .#{$fa-css-prefix}-#{$i}x { 21 | font-size: $i * 1em; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | list-style-type: none; 6 | margin-left: $fa-li-width * 5/4; 7 | padding-left: 0; 8 | 9 | > li { position: relative; } 10 | } 11 | 12 | .#{$fa-css-prefix}-li { 13 | left: -$fa-li-width; 14 | position: absolute; 15 | text-align: center; 16 | width: $fa-li-width; 17 | line-height: inherit; 18 | } 19 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only; } 5 | .sr-only-focusable { @include sr-only-focusable; } 6 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/scss/fontawesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.0.8 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @import 'variables'; 6 | @import 'mixins'; 7 | @import 'core'; 8 | @import 'larger'; 9 | @import 'fixed-width'; 10 | @import 'list'; 11 | @import 'bordered-pulled'; 12 | @import 'animated'; 13 | @import 'rotated-flipped'; 14 | @import 'stacked'; 15 | @import 'icons'; 16 | @import 'screen-reader'; 17 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/fontawesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.eot -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/material-icons/MaterialIcons-Regular.woff2 -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/fonts/roboto/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "Roboto"; 3 | src: url(Roboto-Thin.ttf); 4 | font-weight: 200; } 5 | @font-face { 6 | font-family: "Roboto"; 7 | src: url(Roboto-Light.ttf); 8 | font-weight: 300; } 9 | @font-face { 10 | font-family: "Roboto"; 11 | src: url(Roboto-Regular.ttf); 12 | font-weight: 400; } 13 | @font-face { 14 | font-family: "Roboto"; 15 | src: url(Roboto-Medium.ttf); 16 | font-weight: 500; } 17 | @font-face { 18 | font-family: "Roboto"; 19 | src: url(Roboto-Bold.ttf); 20 | font-weight: 700; } 21 | /* 22 | font-family: "Roboto", sans-serif; 23 | */ -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/AzureAD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/AzureAD.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/AzureSQL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/AzureSQL.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/CassandraDefinitiveguide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/CassandraDefinitiveguide.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/CleanCode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/CleanCode.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/DockerInPractice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/DockerInPractice.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/DockerNetworking.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/DockerNetworking.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/ElasticSearchInAction.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/ElasticSearchInAction.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/GoInPractice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/GoInPractice.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/GraphAlgorithms.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/GraphAlgorithms.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/GuideToGraphDatabases.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/GuideToGraphDatabases.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/JavaConcurrency.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/JavaConcurrency.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/Kubernetes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/Kubernetes.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/ProgrammingInRuby.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/ProgrammingInRuby.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/RustProgrammingLanguage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/RustProgrammingLanguage.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/Scala.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/Scala.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/ServiceFabric.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/ServiceFabric.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/SevenDatabasesInSevenWeeks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/SevenDatabasesInSevenWeeks.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/SpringMicroServices.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/SpringMicroServices.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/blackHatGo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/blackHatGo.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/csharpInANutshell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/csharpInANutshell.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/dataIntensiveApplication.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/dataIntensiveApplication.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/effectivejava.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/effectivejava.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/getProgrammingWithGo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/getProgrammingWithGo.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/highPerformaceMysql.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/highPerformaceMysql.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/kaafkDefnitiveGuide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/kaafkDefnitiveGuide.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/masterring-kotlin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/masterring-kotlin.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/mongodb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/mongodb.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/node-design-patterns.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/node-design-patterns.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/nodeCookBook.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/nodeCookBook.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/patternsOfEAA.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/patternsOfEAA.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/pragmaticProgrammer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/pragmaticProgrammer.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/programmingcsharp8.0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/programmingcsharp8.0.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/rabbitMQCookBook.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/rabbitMQCookBook.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/softwareArchitect.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/softwareArchitect.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/unitTesting.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/images/unitTesting.jpg -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/owlcarousel/assets/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/owlcarousel/assets/ajax-loader.gif -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/owlcarousel/assets/owl.video.play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/owlcarousel/assets/owl.video.play.png -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/ajax-loader.gif -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/fonts/slick.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/fonts/slick.eot -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/fonts/slick.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/fonts/slick.ttf -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/fonts/slick.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Azure-Samples/azure-spring-boot-samples/7ba5e6e8a541d4d22d44321851ae9ae60f5be73d/cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/main/resources/static/plugins/slickslider/fonts/slick.woff -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-mvc-sample/src/test/java/com/spring/cosmos/ebookstore/StoreApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.spring.cosmos.ebookstore; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | class StoreApplicationTests { 6 | @Test 7 | void contextLoads() { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-quickstart-samples/src/main/java/com/azure/spring/data/cosmos/samples/quickstart/ReactiveUserRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | package com.azure.spring.data.cosmos.samples.quickstart; 4 | 5 | import com.azure.spring.data.cosmos.samples.common.User; 6 | import com.azure.spring.data.cosmos.repository.ReactiveCosmosRepository; 7 | import org.springframework.stereotype.Repository; 8 | import reactor.core.publisher.Flux; 9 | 10 | @Repository 11 | public interface ReactiveUserRepository extends ReactiveCosmosRepository { 12 | 13 | Flux findByFirstName(String firstName); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /cosmos/azure-spring-data-cosmos/cosmos-quickstart-samples/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | data: 3 | cosmos: 4 | uri: ${ACCOUNT_HOST} 5 | key: ${ACCOUNT_KEY} 6 | secondaryKey: ${SECONDARY_ACCOUNT_KEY} 7 | databaseName: testdb 8 | # Set to true to populate query metrics - 9 | # NOTE: this will NOT give request information about point reads (only queries) 10 | # See https://aka.ms/PointReadsInSpring for more information on the difference between point reads and queries. 11 | queryMetricsEnabled: false 12 | 13 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-cosmos/spring-cloud-azure-cosmos-sample/src/main/java/com/azure/spring/sample/cosmos/common/Pet.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.cosmos.common; 5 | 6 | public class Pet { 7 | public String getGivenName() { 8 | return givenName; 9 | } 10 | 11 | public void setGivenName(String givenName) { 12 | this.givenName = givenName; 13 | } 14 | 15 | private String givenName; 16 | } 17 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-cosmos/spring-cloud-azure-cosmos-sample/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | cosmos: 5 | endpoint: ${AZURE_COSMOS_ENDPOINT} 6 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-cosmos/spring-cloud-azure-cosmos-sample/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_COSMOS_ENDPOINT=$(terraform -chdir=terraform output -raw azure_cosmos_endpoint) 2 | 3 | echo AZURE_COSMOS_ENDPOINT=$env:AZURE_COSMOS_ENDPOINT 4 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-cosmos/spring-cloud-azure-cosmos-sample/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_COSMOS_ENDPOINT=$(terraform -chdir=./terraform output -raw azure_cosmos_endpoint) 2 | 3 | echo AZURE_COSMOS_ENDPOINT=$AZURE_COSMOS_ENDPOINT 4 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-cosmos/spring-cloud-azure-cosmos-sample/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "cosmos-sample" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-data-cosmos/spring-cloud-azure-data-cosmos-sample/src/main/java/com/azure/spring/sample/cosmos/UserRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.cosmos; 5 | 6 | import com.azure.spring.data.cosmos.repository.ReactiveCosmosRepository; 7 | import org.springframework.stereotype.Repository; 8 | import reactor.core.publisher.Flux; 9 | 10 | @Repository 11 | public interface UserRepository extends ReactiveCosmosRepository { 12 | 13 | Flux findByFirstName(String firstName); 14 | } 15 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-data-cosmos/spring-cloud-azure-data-cosmos-sample/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | cosmos: 5 | endpoint: ${AZURE_COSMOS_ENDPOINT} 6 | database: ${COSMOS_DATABASE} 7 | 8 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-data-cosmos/spring-cloud-azure-data-cosmos-sample/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_COSMOS_ENDPOINT=$(terraform -chdir=terraform output -raw azure_cosmos_endpoint) 2 | $env:COSMOS_DATABASE=$(terraform -chdir=terraform output -raw cosmos_database_name) 3 | 4 | echo AZURE_COSMOS_ENDPOINT=$env:AZURE_COSMOS_ENDPOINT 5 | echo COSMOS_DATABASE=$env:COSMOS_DATABASE 6 | -------------------------------------------------------------------------------- /cosmos/spring-cloud-azure-starter-data-cosmos/spring-cloud-azure-data-cosmos-sample/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_COSMOS_ENDPOINT=$(terraform -chdir=./terraform output -raw azure_cosmos_endpoint) 2 | export COSMOS_DATABASE=$(terraform -chdir=./terraform output -raw cosmos_database_name) 3 | 4 | echo AZURE_COSMOS_ENDPOINT=$AZURE_COSMOS_ENDPOINT 5 | echo COSMOS_DATABASE=$COSMOS_DATABASE 6 | -------------------------------------------------------------------------------- /eventgrid/spring-cloud-azure-starter-eventgrid/spring-cloud-azure-sample-eventgrid/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | eventgrid: 5 | endpoint: ${AZURE_EVENTGRID_ENDPOINT} 6 | key: ${AZURE_EVENTGRID_KEY} 7 | servicebus: 8 | connection-string: ${AZURE_SERVICEBUS_CONNECTION_STRING} 9 | function: 10 | definition: consume 11 | stream: 12 | bindings: 13 | consume-in-0: 14 | destination: ${AZURE_SERVICEBUS_QUEUE_NAME} 15 | servicebus: 16 | bindings: 17 | consume-in-0: 18 | consumer: 19 | auto-complete: false 20 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-eventhubs/eventhubs-client/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | eventhubs: 5 | namespace: ${AZURE_EVENTHUBS_NAMESPACE} 6 | event-hub-name: ${AZURE_EVENTHUB_NAME} 7 | consumer: 8 | consumer-group: $Default 9 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-eventhubs/eventhubs-client/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "AZURE_EVENTHUBS_NAMESPACE" { 2 | value = azurerm_eventhub_namespace.eventhubs_namespace.name 3 | description = "The event hubs namespace." 4 | } 5 | 6 | output "AZURE_EVENTHUB_NAME" { 7 | value = azurerm_eventhub.eventhubs.name 8 | description = "The name of created event hubs." 9 | } 10 | 11 | output "RESOURCE_GROUP_NAME" { 12 | value = azurerm_resource_group.main.name 13 | description = "The resource group name." 14 | } 15 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-eventhubs/eventhubs-client/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_EVENTHUBS_NAMESPACE=$(terraform -chdir=terraform output -raw AZURE_EVENTHUBS_NAMESPACE) 2 | $env:AZURE_EVENTHUB_NAME=$(terraform -chdir=terraform output -raw AZURE_EVENTHUB_NAME) 3 | 4 | echo AZURE_EVENTHUBS_NAMESPACE=$env:AZURE_EVENTHUBS_NAMESPACE 5 | echo AZURE_EVENTHUB_NAME=$env:AZURE_EVENTHUB_NAME 6 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-eventhubs/eventhubs-client/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_EVENTHUBS_NAMESPACE=$(terraform -chdir=./terraform output -raw AZURE_EVENTHUBS_NAMESPACE) 2 | export AZURE_EVENTHUB_NAME=$(terraform -chdir=./terraform output -raw AZURE_EVENTHUB_NAME) 3 | 4 | echo AZURE_EVENTHUBS_NAMESPACE=$AZURE_EVENTHUBS_NAMESPACE 5 | echo AZURE_EVENTHUB_NAME=$AZURE_EVENTHUB_NAME 6 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-eventhubs/eventhubs-client/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "eventhubs-client" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-integration-eventhubs/eventhubs-integration/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | eventhubs: 5 | namespace: ${AZURE_EVENTHUBS_NAMESPACE} 6 | processor: 7 | checkpoint-store: 8 | container-name: ${AZURE_STORAGE_CONTAINER_NAME} 9 | account-name: ${AZURE_STORAGE_ACCOUNT_NAME} 10 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-integration-eventhubs/eventhubs-integration/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_EVENTHUBS_NAMESPACE=$(terraform -chdir=terraform output -raw AZURE_EVENTHUBS_NAMESPACE) 2 | $env:AZURE_STORAGE_CONTAINER_NAME=$(terraform -chdir=terraform output -raw AZURE_STORAGE_CONTAINER_NAME) 3 | $env:AZURE_STORAGE_ACCOUNT_NAME=$(terraform -chdir=terraform output -raw AZURE_STORAGE_ACCOUNT_NAME) 4 | 5 | echo AZURE_EVENTHUBS_NAMESPACE=$env:AZURE_EVENTHUBS_NAMESPACE 6 | echo AZURE_STORAGE_CONTAINER_NAME=$env:AZURE_STORAGE_CONTAINER_NAME 7 | echo AZURE_STORAGE_ACCOUNT_NAME=$env:AZURE_STORAGE_ACCOUNT_NAME 8 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-integration-eventhubs/eventhubs-integration/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_EVENTHUBS_NAMESPACE=$(terraform -chdir=./terraform output -raw AZURE_EVENTHUBS_NAMESPACE) 2 | export AZURE_STORAGE_CONTAINER_NAME=$(terraform -chdir=./terraform output -raw AZURE_STORAGE_CONTAINER_NAME) 3 | export AZURE_STORAGE_ACCOUNT_NAME=$(terraform -chdir=./terraform output -raw AZURE_STORAGE_ACCOUNT_NAME) 4 | 5 | echo AZURE_EVENTHUBS_NAMESPACE=$AZURE_EVENTHUBS_NAMESPACE 6 | echo AZURE_STORAGE_CONTAINER_NAME=$AZURE_STORAGE_CONTAINER_NAME 7 | echo AZURE_STORAGE_ACCOUNT_NAME=$AZURE_STORAGE_ACCOUNT_NAME 8 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter-integration-eventhubs/eventhubs-integration/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "eh-integration" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-starter/spring-cloud-azure-sample-eventhubs-kafka/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "eventhubs-kafka" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-stream-binder-eventhubs/eventhubs-binder/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "eh-binder" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /eventhubs/spring-cloud-azure-stream-binder-eventhubs/eventhubs-multibinders/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "eh-multibinders" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /eventhubs/spring-messaging-azure-eventhubs/eventhubs-spring-messaging/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | eventhubs: 5 | namespace: ${AZURE_EVENTHUBS_NAMESPACE} 6 | processor: 7 | checkpoint-store: 8 | container-name: ${AZURE_STORAGE_CONTAINER_NAME} 9 | account-name: ${AZURE_STORAGE_ACCOUNT_NAME} 10 | -------------------------------------------------------------------------------- /eventhubs/spring-messaging-azure-eventhubs/eventhubs-spring-messaging/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "AZURE_EVENTHUBS_NAMESPACE" { 2 | value = azurerm_eventhub_namespace.eventhubs_namespace.name 3 | description = "The event hubs namespace." 4 | } 5 | 6 | output "AZURE_STORAGE_ACCOUNT_NAME" { 7 | value = azurerm_storage_account.storage_account.name 8 | description = "The storage account name." 9 | } 10 | 11 | output "AZURE_STORAGE_CONTAINER_NAME" { 12 | value = azurerm_storage_container.storage_container.name 13 | description = "The container name created in storage account." 14 | } 15 | 16 | -------------------------------------------------------------------------------- /eventhubs/spring-messaging-azure-eventhubs/eventhubs-spring-messaging/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_EVENTHUBS_NAMESPACE=$(terraform -chdir=terraform output -raw AZURE_EVENTHUBS_NAMESPACE) 2 | $env:AZURE_STORAGE_CONTAINER_NAME=$(terraform -chdir=terraform output -raw AZURE_STORAGE_CONTAINER_NAME) 3 | $env:AZURE_STORAGE_ACCOUNT_NAME=$(terraform -chdir=terraform output -raw AZURE_STORAGE_ACCOUNT_NAME) 4 | 5 | echo AZURE_EVENTHUBS_NAMESPACE=$env:AZURE_EVENTHUBS_NAMESPACE 6 | echo AZURE_STORAGE_CONTAINER_NAME=$env:AZURE_STORAGE_CONTAINER_NAME 7 | echo AZURE_STORAGE_ACCOUNT_NAME=$env:AZURE_STORAGE_ACCOUNT_NAME 8 | -------------------------------------------------------------------------------- /eventhubs/spring-messaging-azure-eventhubs/eventhubs-spring-messaging/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_EVENTHUBS_NAMESPACE=$(terraform -chdir=./terraform output -raw AZURE_EVENTHUBS_NAMESPACE) 2 | export AZURE_STORAGE_CONTAINER_NAME=$(terraform -chdir=./terraform output -raw AZURE_STORAGE_CONTAINER_NAME) 3 | export AZURE_STORAGE_ACCOUNT_NAME=$(terraform -chdir=./terraform output -raw AZURE_STORAGE_ACCOUNT_NAME) 4 | 5 | echo AZURE_EVENTHUBS_NAMESPACE=$AZURE_EVENTHUBS_NAMESPACE 6 | echo AZURE_STORAGE_CONTAINER_NAME=$AZURE_STORAGE_CONTAINER_NAME 7 | echo AZURE_STORAGE_ACCOUNT_NAME=$AZURE_STORAGE_ACCOUNT_NAME 8 | -------------------------------------------------------------------------------- /eventhubs/spring-messaging-azure-eventhubs/eventhubs-spring-messaging/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "eventhubs" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /keyvault/azure-securtiy-keyvault-jca/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | page_type: sample 3 | languages: 4 | - java 5 | products: 6 | - azure-key-vault 7 | name: Enabling HTTPS Connection by Certificate Stored in Azure Key Vault in Java Application 8 | description: This sample demonstrates how to enable HTTPS connection by certificate stored in Azure Key Vault in Java application. 9 | --- 10 | 11 | # Enabling HTTPS Connection by Certificate Stored in Azure Key Vault in Java Application 12 | 13 | -------------------------------------------------------------------------------- /keyvault/azure-securtiy-keyvault-jca/run-with-command-line-server-side/src/main/java/com/azure/spring/boot/sample/webapp/SampleController.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.boot.sample.webapp; 5 | 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | import org.springframework.web.bind.annotation.RestController; 8 | 9 | 10 | /** 11 | * A controller that accepts http requests and returns response. 12 | */ 13 | @RestController 14 | public class SampleController { 15 | @GetMapping("/") 16 | public String helloWorld() { 17 | return "Hello World!"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /keyvault/azure-securtiy-keyvault-jca/run-with-command-line-server-side/src/main/java/com/azure/spring/boot/sample/webapp/SpringBootWebappApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.boot.sample.webapp; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | /** 10 | * Web app. 11 | */ 12 | @SpringBootApplication 13 | public class SpringBootWebappApplication { 14 | public static void main(String[] args) { 15 | SpringApplication.run(SpringBootWebappApplication.class, args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /keyvault/azure-securtiy-keyvault-jca/run-with-command-line-server-side/src/main/resources/keyvault.dummy: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-jca/ssl-bundles-rest-template/src/main/java/com/azure/spring/sample/keyvault/jca/SslBundlesRestTemplateApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.keyvault.jca; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class SslBundlesRestTemplateApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(SslBundlesRestTemplateApplication.class, args); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-jca/ssl-bundles-rest-template/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "ssl-bundles-rest-template" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-jca/ssl-bundles-server/src/main/java/com/azure/spring/sample/keyvault/jca/KeyVaultSslBundlesServerApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.keyvault.jca; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class KeyVaultSslBundlesServerApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(KeyVaultSslBundlesServerApplication.class, args); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-jca/ssl-bundles-server/src/main/resources/application-client-auth.yaml: -------------------------------------------------------------------------------- 1 | server: 2 | ssl: 3 | client-auth: NEED 4 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-jca/ssl-bundles-server/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "ssl-bundles-server" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-jca/ssl-bundles-web-client/src/main/java/com/azure/spring/sample/keyvault/jca/KeyVaultSslBundlesWebClientApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.keyvault.jca; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class KeyVaultSslBundlesWebClientApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(KeyVaultSslBundlesWebClientApplication.class, args); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-jca/ssl-bundles-web-client/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "ssl-bundles-web-client" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/property-source/src/main/resources/application-secrets.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | keyvault: 5 | secret: 6 | property-sources[0]: 7 | endpoint: ${ENDPOINT_1} 8 | secret-keys: 9 | - sampleProperty1 10 | - samplePropertyInMultipleKeyVault 11 | property-sources[1]: 12 | endpoint: ${ENDPOINT_2} 13 | secret-keys: 14 | - sampleProperty2 15 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/property-source/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | keyvault: 5 | secret: 6 | property-source-enabled: true 7 | property-sources: 8 | - name: key-vault-property-source-1 9 | endpoint: ${ENDPOINT_1} 10 | - name: key-vault-property-source-2 11 | endpoint: ${ENDPOINT_2} 12 | profiles: 13 | active: develop 14 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/property-source/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "KEYVAULT_URI_01" { 2 | value = azurerm_key_vault.kv_account_01.vault_uri 3 | description = "The key vault uri 01." 4 | } 5 | 6 | output "KEYVAULT_URI_02" { 7 | value = azurerm_key_vault.kv_account_02.vault_uri 8 | description = "The key vault uri 02." 9 | } 10 | 11 | output "RESOURCE_GROUP_NAME" { 12 | value = azurerm_resource_group.main.name 13 | description = "The resource group name." 14 | } 15 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/property-source/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:ENDPOINT_1=$(terraform -chdir=terraform output -raw KEYVAULT_URI_01) 2 | $env:ENDPOINT_2=$(terraform -chdir=terraform output -raw KEYVAULT_URI_02) 3 | 4 | echo ENDPOINT_1=$env:ENDPOINT_1 5 | echo ENDPOINT_2=$env:ENDPOINT_2 6 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/property-source/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export ENDPOINT_1=$(terraform -chdir=./terraform output -raw KEYVAULT_URI_01) 2 | export ENDPOINT_2=$(terraform -chdir=./terraform output -raw KEYVAULT_URI_02) 3 | 4 | echo ENDPOINT_1=$ENDPOINT_1 5 | echo ENDPOINT_2=$ENDPOINT_2 6 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/property-source/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "mul-keyvault" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/secret-client/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | keyvault: 5 | secret: 6 | property-source-enabled: true 7 | endpoint: ${ENDPOINT} 8 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/secret-client/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "KEYVAULT_URI" { 2 | value = azurerm_key_vault.kv_account.vault_uri 3 | description = "The key vault uri." 4 | } 5 | 6 | output "RESOURCE_GROUP_NAME" { 7 | value = azurerm_resource_group.main.name 8 | description = "The resource group name." 9 | } 10 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/secret-client/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:ENDPOINT=$(terraform -chdir=terraform output -raw KEYVAULT_URI) 2 | 3 | echo ENDPOINT=$env:ENDPOINT 4 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/secret-client/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export ENDPOINT=$(terraform -chdir=./terraform output -raw KEYVAULT_URI) 2 | echo ENDPOINT=$ENDPOINT 3 | -------------------------------------------------------------------------------- /keyvault/spring-cloud-azure-starter-keyvault-secrets/secret-client/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "keyvault" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /mysql/spring-cloud-azure-starter-jdbc-mysql/spring-cloud-azure-mysql-sample/src/main/java/com/azure/spring/sample/passwordless/mysql/MysqlApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.passwordless.mysql; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class MysqlApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(MysqlApplication.class, args); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /mysql/spring-cloud-azure-starter-jdbc-mysql/spring-cloud-azure-mysql-sample/src/main/java/com/azure/spring/sample/passwordless/mysql/TodoRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.passwordless.mysql; 5 | 6 | import org.springframework.data.repository.CrudRepository; 7 | 8 | public interface TodoRepository extends CrudRepository { 9 | } 10 | -------------------------------------------------------------------------------- /mysql/spring-cloud-azure-starter-jdbc-mysql/spring-cloud-azure-mysql-sample/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | jpa: 3 | generate-ddl: true 4 | datasource: 5 | azure: 6 | passwordless-enabled: true 7 | url: jdbc:mysql://${AZ_DATABASE_SERVER_NAME}.mysql.database.azure.com:3306/${AZ_DATABASE_NAME}?serverTimezone=UTC 8 | username: ${AZ_MYSQL_AD_NON_ADMIN_USERNAME} 9 | sql: 10 | init: 11 | mode: always 12 | -------------------------------------------------------------------------------- /mysql/spring-cloud-azure-starter-jdbc-mysql/spring-cloud-azure-mysql-sample/terraform/mysql_create_user.sql: -------------------------------------------------------------------------------- 1 | SET aad_auth_validate_oids_in_tenant = OFF; 2 | CREATE AADUSER '%%AZ_MYSQL_AD_NON_ADMIN_USERNAME%%' IDENTIFIED BY '%%AZ_MYSQL_AD_NON_ADMIN_USERID%%'; 3 | GRANT ALL PRIVILEGES ON %%dbname%%.* TO '%%AZ_MYSQL_AD_NON_ADMIN_USERNAME%%'@'%'; 4 | FLUSH privileges; -------------------------------------------------------------------------------- /mysql/spring-cloud-azure-starter-jdbc-mysql/spring-cloud-azure-mysql-sample/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZ_DATABASE_SERVER_NAME=$(terraform -chdir=terraform output -raw azure_mysql_server_name) 2 | $env:AZ_DATABASE_NAME=$(terraform -chdir=terraform output -raw azure_mysql_server_database_name) 3 | $env:AZ_MYSQL_AD_NON_ADMIN_USERNAME=$(terraform -chdir=terraform output -raw aad_user_name) 4 | 5 | echo AZ_DATABASE_SERVER_NAME=$env:AZ_DATABASE_SERVER_NAME 6 | echo AZ_DATABASE_NAME=$env:AZ_DATABASE_NAME 7 | echo AZ_MYSQL_AD_NON_ADMIN_USERNAME=$env:AZ_MYSQL_AD_NON_ADMIN_USERNAME 8 | -------------------------------------------------------------------------------- /mysql/spring-cloud-azure-starter-jdbc-mysql/spring-cloud-azure-mysql-sample/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZ_DATABASE_SERVER_NAME=$(terraform -chdir=./terraform output -raw azure_mysql_server_name) 2 | export AZ_DATABASE_NAME=$(terraform -chdir=./terraform output -raw azure_mysql_server_database_name) 3 | export AZ_MYSQL_AD_NON_ADMIN_USERNAME=$(terraform -chdir=./terraform output -raw aad_user_name) 4 | 5 | echo AZ_DATABASE_SERVER_NAME=$AZ_DATABASE_SERVER_NAME 6 | echo AZ_DATABASE_NAME=$AZ_DATABASE_NAME 7 | echo AZ_MYSQL_AD_NON_ADMIN_USERNAME=$AZ_MYSQL_AD_NON_ADMIN_USERNAME 8 | -------------------------------------------------------------------------------- /postgresql/spring-cloud-azure-starter-jdbc-postgresql/spring-cloud-azure-postgresql-sample/src/main/java/com/azure/spring/sample/passwordless/postgresql/PostgresqlApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.passwordless.postgresql; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class PostgresqlApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(PostgresqlApplication.class, args); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /postgresql/spring-cloud-azure-starter-jdbc-postgresql/spring-cloud-azure-postgresql-sample/src/main/java/com/azure/spring/sample/passwordless/postgresql/TodoRepository.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.passwordless.postgresql; 5 | 6 | import org.springframework.data.repository.CrudRepository; 7 | 8 | public interface TodoRepository extends CrudRepository { 9 | } 10 | -------------------------------------------------------------------------------- /postgresql/spring-cloud-azure-starter-jdbc-postgresql/spring-cloud-azure-postgresql-sample/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | jpa: 3 | generate-ddl: true 4 | datasource: 5 | azure: 6 | passwordless-enabled: true 7 | url: jdbc:postgresql://${AZ_DATABASE_SERVER_NAME}.postgres.database.azure.com:5432/${AZ_DATABASE_NAME}?sslmode=require 8 | username: ${AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME} 9 | sql: 10 | init: 11 | mode: always 12 | -------------------------------------------------------------------------------- /postgresql/spring-cloud-azure-starter-jdbc-postgresql/spring-cloud-azure-postgresql-sample/terraform/postgresql_create_user.sql: -------------------------------------------------------------------------------- 1 | select * from pgaadauth_create_principal('%%AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME%%', false, false); -------------------------------------------------------------------------------- /postgresql/spring-cloud-azure-starter-jdbc-postgresql/spring-cloud-azure-postgresql-sample/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZ_DATABASE_SERVER_NAME=$(terraform -chdir=terraform output -raw azure_postgresql_server_name) 2 | $env:AZ_DATABASE_NAME=$(terraform -chdir=terraform output -raw azure_postgresql_server_database_name) 3 | $env:AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME=$(az ad signed-in-user show --query userPrincipalName -o tsv) 4 | 5 | echo AZ_DATABASE_SERVER_NAME=$env:AZ_DATABASE_SERVER_NAME 6 | echo AZ_DATABASE_NAME=$env:AZ_DATABASE_NAME 7 | echo AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME=$env:AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME 8 | -------------------------------------------------------------------------------- /postgresql/spring-cloud-azure-starter-jdbc-postgresql/spring-cloud-azure-postgresql-sample/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZ_DATABASE_SERVER_NAME=$(terraform -chdir=./terraform output -raw azure_postgresql_server_name) 2 | export AZ_DATABASE_NAME=$(terraform -chdir=./terraform output -raw azure_postgresql_server_database_name) 3 | export AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME=$(echo $(az ad signed-in-user show --query userPrincipalName --output tsv) | sed -e 's/\r//g') 4 | 5 | echo AZ_DATABASE_SERVER_NAME=$AZ_DATABASE_SERVER_NAME 6 | echo AZ_DATABASE_NAME=$AZ_DATABASE_NAME 7 | echo AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME=$AZ_POSTGRESQL_AD_NON_ADMIN_USERNAME 8 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-integration-servicebus/multiple-namespaces/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | my.servicebus.namespaces[0]: 2 | namespace: ${AZURE_SERVICEBUS_NAMESPACE_01} 3 | entity-type: queue 4 | entity-name: ${AZURE_SERVICEBUS_NAMESPACE_01_QUEUE_NAME} 5 | my.servicebus.namespaces[1]: 6 | namespace: ${AZURE_SERVICEBUS_NAMESPACE_02} 7 | entity-type: queue 8 | entity-name: ${AZURE_SERVICEBUS_NAMESPACE_02_QUEUE_NAME} 9 | 10 | 11 | #reduce some noise 12 | logging.level: 13 | com.azure.core: warn 14 | com.azure.identity: warn 15 | com.azure.messaging: warn -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-integration-servicebus/multiple-namespaces/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "multiple-namespaces-servicebus" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-integration-servicebus/single-namespace/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | servicebus: 5 | namespace: ${SERVICEBUS_NAMESPACE} 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-integration-servicebus/single-namespace/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "SERVICEBUS_NAMESPACE" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.name 3 | description = "The name of servicebus namespace." 4 | } 5 | 6 | output "RESOURCE_GROUP_NAME" { 7 | value = azurerm_resource_group.main.name 8 | description = "The resource group name." 9 | } 10 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-integration-servicebus/single-namespace/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:SERVICEBUS_NAMESPACE=$(terraform -chdir=terraform output -raw SERVICEBUS_NAMESPACE) 2 | 3 | echo SERVICEBUS_NAMESPACE=$env:SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-integration-servicebus/single-namespace/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export SERVICEBUS_NAMESPACE=$(terraform -chdir=./terraform output -raw SERVICEBUS_NAMESPACE) 2 | 3 | echo SERVICEBUS_NAMESPACE=$SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-integration-servicebus/single-namespace/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "single-namespaces-servicebus" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-dlq-queue/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: servicebus-jms-dlq-queue 4 | jms: 5 | listener: 6 | session: 7 | acknowledge-mode: CLIENT 8 | transacted: false 9 | servicebus: 10 | passwordless-enabled: true 11 | namespace: ${SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE} 12 | pricing-tier: ${PRICING_TIER} 13 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-dlq-queue/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=ERROR, stdout 2 | log4j.logger.org.apache.qpid.jms=ERROR 3 | 4 | # CONSOLE appender 5 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 6 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n 8 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-dlq-queue/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.name 3 | description = "The name of servicebus namespace." 4 | sensitive = true 5 | } 6 | 7 | output "PRICING_TIER" { 8 | value = var.pricing_tier 9 | description = "The pricing tier of Service Bus." 10 | } 11 | 12 | output "RESOURCE_GROUP_NAME" { 13 | value = azurerm_resource_group.main.name 14 | description = "The resource group name." 15 | } 16 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-dlq-queue/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE=$(terraform -chdir=terraform output -raw SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE) 2 | $env:PRICING_TIER=$(terraform -chdir=terraform output -raw PRICING_TIER) 3 | 4 | echo SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE=$env:SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE 5 | echo PRICING_TIER=$env:PRICING_TIER 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-dlq-queue/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE=$(terraform -chdir=./terraform output -raw SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE) 2 | export PRICING_TIER=$(terraform -chdir=./terraform output -raw PRICING_TIER) 3 | 4 | echo SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE=$SERVICEBUS_NAMESPACE_NAME_DLQ_QUQUE 5 | echo PRICING_TIER=$PRICING_TIER 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-queue/src/main/java/com/azure/spring/sample/jms/queue/User.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.jms.queue; 5 | 6 | import java.io.Serializable; 7 | 8 | public class User implements Serializable { 9 | 10 | private static final long serialVersionUID = -295422703255886286L; 11 | private String name; 12 | 13 | User(String name) { 14 | setName(name); 15 | } 16 | 17 | public String getName() { 18 | return name; 19 | } 20 | 21 | public void setName(String name) { 22 | this.name = name; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-queue/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | jms: 3 | servicebus: 4 | connection-string: ${SERVICEBUS_NAMESPACE_CONNECTION_STRING} 5 | pricing-tier: ${PRICING_TIER} 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-queue/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=ERROR, stdout 2 | log4j.logger.org.apache.qpid.jms=ERROR 3 | 4 | # CONSOLE appender 5 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 6 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n 8 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-queue/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "SERVICEBUS_NAMESPACE_CONNECTION_STRING" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.default_primary_connection_string 3 | description = "The connection_string of servicebus namespace." 4 | sensitive = true 5 | } 6 | 7 | output "PRICING_TIER" { 8 | value = var.pricing_tier 9 | description = "The pricing tier of Service Bus." 10 | } 11 | 12 | output "RESOURCE_GROUP_NAME" { 13 | value = azurerm_resource_group.main.name 14 | description = "The resource group name." 15 | } 16 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-queue/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:SERVICEBUS_NAMESPACE_CONNECTION_STRING=$(terraform -chdir=terraform output -raw SERVICEBUS_NAMESPACE_CONNECTION_STRING) 2 | $env:PRICING_TIER=$(terraform -chdir=terraform output -raw PRICING_TIER) 3 | 4 | echo SERVICEBUS_NAMESPACE_CONNECTION_STRING=$env:SERVICEBUS_NAMESPACE_CONNECTION_STRING 5 | echo PRICING_TIER=$env:PRICING_TIER 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-queue/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export SERVICEBUS_NAMESPACE_CONNECTION_STRING=$(terraform -chdir=./terraform output -raw SERVICEBUS_NAMESPACE_CONNECTION_STRING) 2 | export PRICING_TIER=$(terraform -chdir=./terraform output -raw PRICING_TIER) 3 | 4 | echo SERVICEBUS_NAMESPACE_CONNECTION_STRING=$SERVICEBUS_NAMESPACE_CONNECTION_STRING 5 | echo PRICING_TIER=$PRICING_TIER 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-topic/src/main/java/com/azure/spring/sample/jms/topic/User.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.jms.topic; 5 | 6 | import java.io.Serializable; 7 | 8 | public class User implements Serializable { 9 | 10 | private static final long serialVersionUID = -295422703255886286L; 11 | private String name; 12 | 13 | User(String name) { 14 | setName(name); 15 | } 16 | 17 | public String getName() { 18 | return name; 19 | } 20 | 21 | public void setName(String name) { 22 | this.name = name; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-topic/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | jms: 3 | servicebus: 4 | connection-string: ${SERVICEBUS_NAMESPACE_CONNECTION_STRING} 5 | pricing-tier: ${PRICING_TIER} 6 | topic-client-id: topic-client-id 7 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-topic/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=ERROR, stdout 2 | log4j.logger.org.apache.qpid.jms=ERROR 3 | 4 | # CONSOLE appender 5 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 6 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 7 | log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n 8 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-topic/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "SERVICEBUS_NAMESPACE_CONNECTION_STRING" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.default_primary_connection_string 3 | description = "The connection_string of servicebus namespace." 4 | sensitive = true 5 | } 6 | 7 | output "PRICING_TIER" { 8 | value = var.pricing_tier 9 | description = "The pricing tier of Service Bus." 10 | } 11 | 12 | output "RESOURCE_GROUP_NAME" { 13 | value = azurerm_resource_group.main.name 14 | description = "The resource group name." 15 | } 16 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-topic/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:SERVICEBUS_NAMESPACE_CONNECTION_STRING=$(terraform -chdir=terraform output -raw SERVICEBUS_NAMESPACE_CONNECTION_STRING) 2 | $env:PRICING_TIER=$(terraform -chdir=terraform output -raw PRICING_TIER) 3 | 4 | echo SERVICEBUS_NAMESPACE_CONNECTION_STRING=$env:SERVICEBUS_NAMESPACE_CONNECTION_STRING 5 | echo PRICING_TIER=$env:PRICING_TIER 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus-jms/servicebus-jms-topic/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export SERVICEBUS_NAMESPACE_CONNECTION_STRING=$(terraform -chdir=./terraform output -raw SERVICEBUS_NAMESPACE_CONNECTION_STRING) 2 | export PRICING_TIER=$(terraform -chdir=./terraform output -raw PRICING_TIER) 3 | 4 | echo SERVICEBUS_NAMESPACE_CONNECTION_STRING=$SERVICEBUS_NAMESPACE_CONNECTION_STRING 5 | echo PRICING_TIER=$PRICING_TIER 6 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-queue/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | servicebus: 5 | namespace: ${SERVICEBUS_NAMESPACE} 6 | entity-type: queue 7 | entity-name: que001 8 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-queue/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "SERVICEBUS_NAMESPACE" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.name 3 | description = "The servicebus namespace." 4 | } 5 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-queue/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:SERVICEBUS_NAMESPACE=$(terraform -chdir=terraform output -raw SERVICEBUS_NAMESPACE) 2 | 3 | echo SERVICEBUS_NAMESPACE=$env:SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-queue/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export SERVICEBUS_NAMESPACE=$(terraform -chdir=./terraform output -raw SERVICEBUS_NAMESPACE) 2 | 3 | echo SERVICEBUS_NAMESPACE=$SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-topic/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | servicebus: 5 | namespace: ${SERVICEBUS_NAMESPACE} 6 | entity-type: topic 7 | entity-name: tpc001 8 | processor: 9 | subscription-name: sub001 10 | consumer: 11 | subscription-name: sub001 12 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-topic/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "SERVICEBUS_NAMESPACE" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.name 3 | description = "The servicebus namespace." 4 | } 5 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-topic/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:SERVICEBUS_NAMESPACE=$(terraform -chdir=terraform output -raw SERVICEBUS_NAMESPACE) 2 | 3 | echo SERVICEBUS_NAMESPACE=$env:SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-starter-servicebus/servicebus-topic/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export SERVICEBUS_NAMESPACE=$(terraform -chdir=./terraform output -raw SERVICEBUS_NAMESPACE) 2 | 3 | echo SERVICEBUS_NAMESPACE=$SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-stream-binder-servicebus/servicebus-multibinders/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "servicebus-multibinders" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-stream-binder-servicebus/servicebus-queue-binder-arm/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "servicebus-queue-binder" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-stream-binder-servicebus/servicebus-queue-binder/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "servicebus-queue-binder" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /servicebus/spring-cloud-azure-stream-binder-servicebus/servicebus-topic-binder/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "servicebus-topic-binder" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /servicebus/spring-messaging-azure-servicebus/servicebus-spring-messaging/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | servicebus: 5 | namespace: ${AZURE_SERVICEBUS_NAMESPACE} 6 | entity-type: queue 7 | -------------------------------------------------------------------------------- /servicebus/spring-messaging-azure-servicebus/servicebus-spring-messaging/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "AZURE_SERVICEBUS_NAMESPACE" { 2 | value = azurerm_servicebus_namespace.servicebus_namespace.name 3 | description = "The servicebus namespace." 4 | } 5 | -------------------------------------------------------------------------------- /servicebus/spring-messaging-azure-servicebus/servicebus-spring-messaging/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_SERVICEBUS_NAMESPACE=$(terraform -chdir=terraform output -raw AZURE_SERVICEBUS_NAMESPACE) 2 | 3 | echo AZURE_SERVICEBUS_NAMESPACE=$env:AZURE_SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /servicebus/spring-messaging-azure-servicebus/servicebus-spring-messaging/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_SERVICEBUS_NAMESPACE=$(terraform -chdir=./terraform output -raw AZURE_SERVICEBUS_NAMESPACE) 2 | 3 | echo AZURE_SERVICEBUS_NAMESPACE=$AZURE_SERVICEBUS_NAMESPACE 4 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-integration/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | storage: 5 | queue: 6 | account-name: ${ACCOUNT_NAME} 7 | 8 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-integration/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "ACCOUNT_NAME" { 2 | value = azurerm_storage_account.storage_account.name 3 | description = "The name of storage account." 4 | } 5 | 6 | output "RESOURCE_GROUP_NAME" { 7 | value = azurerm_resource_group.main.name 8 | description = "The resource group name." 9 | } 10 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-integration/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:ACCOUNT_NAME=$(terraform -chdir=terraform output -raw ACCOUNT_NAME) 2 | 3 | echo ACCOUNT_NAME=$env:ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-integration/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export ACCOUNT_NAME=$(terraform -chdir=./terraform output -raw ACCOUNT_NAME) 2 | 3 | echo ACCOUNT_NAME=$ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-integration/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "integration" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-operation/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | storage: 5 | queue: 6 | account-name: ${ACCOUNT_NAME} 7 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-operation/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "ACCOUNT_NAME" { 2 | value = azurerm_storage_account.storage_account.name 3 | description = "The name of storage account." 4 | } 5 | 6 | output "RESOURCE_GROUP_NAME" { 7 | value = azurerm_resource_group.main.name 8 | description = "The resource group name." 9 | } 10 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-operation/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:ACCOUNT_NAME=$(terraform -chdir=terraform output -raw ACCOUNT_NAME) 2 | 3 | echo ACCOUNT_NAME=$env:ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-operation/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export ACCOUNT_NAME=$(terraform -chdir=./terraform output -raw ACCOUNT_NAME) 2 | 3 | echo ACCOUNT_NAME=$ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-integration-storage-queue/storage-queue-operation/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "operation" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-blob/storage-blob-sample/src/main/java/com/azure/spring/sample/storage/resource/StorageBlobApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.storage.resource; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | /** 10 | * @author Warren Zhu 11 | */ 12 | @SpringBootApplication 13 | public class StorageBlobApplication { 14 | public static void main(String[] args) { 15 | SpringApplication.run(StorageBlobApplication.class, args); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-blob/storage-blob-sample/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | # Storage account name length should be between 3 and 24 and use numbers and lower-case letters only 2 | # Configuration 3 | spring: 4 | cloud: 5 | azure: 6 | storage: 7 | blob: 8 | account-name: ${AZURE_STORAGE_ACCOUNT} 9 | container-name: ${STORAGE_CONTAINER_NAME} 10 | 11 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-blob/storage-blob-sample/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "azure_storage_account" { 2 | value = azurerm_storage_account.application.name 3 | description = "Azure Storage account created." 4 | } 5 | 6 | output "storage_container_name" { 7 | value = var.container_name 8 | description = "Azure Storage container name." 9 | } 10 | 11 | output "resource_group_name" { 12 | value = azurerm_resource_group.main.name 13 | description = "The resource group name." 14 | } 15 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-blob/storage-blob-sample/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_STORAGE_ACCOUNT=$(terraform -chdir=terraform output -raw azure_storage_account) 2 | $env:STORAGE_CONTAINER_NAME=$(terraform -chdir=terraform output -raw storage_container_name) 3 | 4 | echo AZURE_STORAGE_ACCOUNT=$env:AZURE_STORAGE_ACCOUNT 5 | echo STORAGE_CONTAINER_NAME=$env:STORAGE_CONTAINER_NAME 6 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-blob/storage-blob-sample/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_STORAGE_ACCOUNT=$(terraform -chdir=./terraform output -raw azure_storage_account) 2 | export STORAGE_CONTAINER_NAME=$(terraform -chdir=./terraform output -raw storage_container_name) 3 | 4 | echo AZURE_STORAGE_ACCOUNT=$AZURE_STORAGE_ACCOUNT 5 | echo STORAGE_CONTAINER_NAME=$STORAGE_CONTAINER_NAME 6 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-file-share/storage-file-sample/src/main/java/com/azure/spring/sample/storage/resource/StorageFileShareApplication.java: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT License. 3 | 4 | package com.azure.spring.sample.storage.resource; 5 | 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.boot.autoconfigure.SpringBootApplication; 8 | 9 | @SpringBootApplication 10 | public class StorageFileShareApplication { 11 | 12 | public static void main(String[] args) { 13 | SpringApplication.run(StorageFileShareApplication.class, args); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-file-share/storage-file-sample/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | storage: 5 | fileshare: 6 | account-name: ${AZURE_STORAGE_ACCOUNT} 7 | account-key: ${STORAGE_ACCOUNT_KEY} 8 | share-name: ${STORAGE_SHARE_NAME} 9 | 10 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-file-share/storage-file-sample/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "azure_storage_account" { 2 | value = azurerm_storage_account.application.name 3 | description = "Azure Storage account created." 4 | } 5 | 6 | output "storage_share_name" { 7 | value = var.share_name 8 | description = "Azure Storage share name." 9 | } 10 | 11 | output "resource_group_name" { 12 | value = azurerm_resource_group.main.name 13 | description = "The resource group name." 14 | } 15 | 16 | output "storage_account_key" { 17 | value = azurerm_storage_account.application.primary_access_key 18 | description = "The account key of this storage account." 19 | sensitive = true 20 | } 21 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-file-share/storage-file-sample/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:AZURE_STORAGE_ACCOUNT=$(terraform -chdir=terraform output -raw azure_storage_account) 2 | $env:STORAGE_SHARE_NAME=$(terraform -chdir=terraform output -raw storage_share_name) 3 | $env:STORAGE_ACCOUNT_KEY=$(terraform -chdir=terraform output -raw storage_account_key) 4 | 5 | echo AZURE_STORAGE_ACCOUNT=$env:AZURE_STORAGE_ACCOUNT 6 | echo STORAGE_SHARE_NAME=$env:STORAGE_SHARE_NAME 7 | echo STORAGE_ACCOUNT_KEY=$env:STORAGE_ACCOUNT_KEY 8 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-file-share/storage-file-sample/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export AZURE_STORAGE_ACCOUNT=$(terraform -chdir=./terraform output -raw azure_storage_account) 2 | export STORAGE_SHARE_NAME=$(terraform -chdir=./terraform output -raw storage_share_name) 3 | export STORAGE_ACCOUNT_KEY=$(terraform -chdir=./terraform output -raw storage_account_key) 4 | 5 | echo AZURE_STORAGE_ACCOUNT=$AZURE_STORAGE_ACCOUNT 6 | echo STORAGE_SHARE_NAME=$STORAGE_SHARE_NAME 7 | echo STORAGE_ACCOUNT_KEY=$STORAGE_ACCOUNT_KEY 8 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-queue/storage-queue-client/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | storage: 5 | queue: 6 | account-name: ${STORAGE_QUEUE_ACCOUNT_NAME} 7 | queue-name: test 8 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-queue/storage-queue-client/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "STORAGE_QUEUE_ACCOUNT_NAME" { 2 | value = azurerm_storage_account.storage_account.name 3 | description = "The name of storage account." 4 | } 5 | 6 | output "RESOURCE_GROUP_NAME" { 7 | value = azurerm_resource_group.main.name 8 | description = "The resource group name." 9 | } 10 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-queue/storage-queue-client/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:STORAGE_QUEUE_ACCOUNT_NAME=$(terraform -chdir=terraform output -raw STORAGE_QUEUE_ACCOUNT_NAME) 2 | 3 | echo STORAGE_QUEUE_ACCOUNT_NAME=$env:STORAGE_QUEUE_ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-queue/storage-queue-client/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export STORAGE_QUEUE_ACCOUNT_NAME=$(terraform -chdir=./terraform output -raw STORAGE_QUEUE_ACCOUNT_NAME) 2 | 3 | echo STORAGE_QUEUE_ACCOUNT_NAME=$STORAGE_QUEUE_ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-cloud-azure-starter-storage-queue/storage-queue-client/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "storagequeue" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | -------------------------------------------------------------------------------- /storage/spring-messaging-azure-storage-queue/storage-queue-spring-messaging/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | cloud: 3 | azure: 4 | storage: 5 | queue: 6 | account-name: ${STORAGE_QUEUE_ACCOUNT_NAME} 7 | -------------------------------------------------------------------------------- /storage/spring-messaging-azure-storage-queue/storage-queue-spring-messaging/terraform/outputs.tf: -------------------------------------------------------------------------------- 1 | output "STORAGE_QUEUE_ACCOUNT_NAME" { 2 | value = azurerm_storage_account.storage_account.name 3 | description = "The name of storage account." 4 | } 5 | -------------------------------------------------------------------------------- /storage/spring-messaging-azure-storage-queue/storage-queue-spring-messaging/terraform/setup_env.ps1: -------------------------------------------------------------------------------- 1 | $env:STORAGE_QUEUE_ACCOUNT_NAME=$(terraform -chdir=terraform output -raw STORAGE_QUEUE_ACCOUNT_NAME) 2 | 3 | echo STORAGE_QUEUE_ACCOUNT_NAME=$env:STORAGE_QUEUE_ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-messaging-azure-storage-queue/storage-queue-spring-messaging/terraform/setup_env.sh: -------------------------------------------------------------------------------- 1 | export STORAGE_QUEUE_ACCOUNT_NAME=$(terraform -chdir=./terraform output -raw STORAGE_QUEUE_ACCOUNT_NAME) 2 | 3 | echo STORAGE_QUEUE_ACCOUNT_NAME=$STORAGE_QUEUE_ACCOUNT_NAME 4 | -------------------------------------------------------------------------------- /storage/spring-messaging-azure-storage-queue/storage-queue-spring-messaging/terraform/variables.tf: -------------------------------------------------------------------------------- 1 | variable "application_name" { 2 | type = string 3 | description = "The name of your application." 4 | default = "storagequeue" 5 | } 6 | 7 | variable "location" { 8 | type = string 9 | description = "The Azure region where all resources in this example should be created." 10 | default = "eastus" 11 | } 12 | 13 | variable "sample_tag_value" { 14 | type = string 15 | description = "The value of spring-cloud-azure-sample tag." 16 | default = "true" 17 | } 18 | --------------------------------------------------------------------------------