Compare commits

..

938 Commits

Author SHA1 Message Date
77bc7ba583 fix deprecated argument 2024-09-30 11:03:15 +08:00
0525962b23 fix deprecated argument 2024-09-30 10:23:57 +08:00
76860e34e8 bump azurerm provider version 2024-09-30 10:13:33 +08:00
b37f4e175a try to fix test 2024-09-30 10:05:06 +08:00
69412cc3c0 bump azurerm provider version for prequisite 2024-09-30 09:23:45 +08:00
bd1b747d29 Update TestRecord 2024-09-29 02:51:33 +00:00
fca54cd397 fix packer install 2024-09-29 02:40:28 +00:00
ffbe69fb79 fix packer install 2024-09-29 02:37:49 +00:00
9fc000d897 Update TestRecord 2024-09-29 00:16:21 +00:00
d1ad69c2a8 Update TestRecord 2024-09-27 10:34:08 +00:00
d412c1b1e1 Update weekly-e2e.yaml, add id-token write permission to fix authentication issue. 2024-09-27 14:45:05 +08:00
2533be9495 Update TestRecord 2024-09-22 00:16:06 +00:00
cc9a7a2908 Merge branch 'master' of https://github.com/Azure/terraform 2024-09-18 12:33:26 +08:00
bec84abc97 try to fix weekly e2e 2024-09-18 12:33:17 +08:00
7af47dc643 Update TestRecord 2024-09-18 03:30:54 +00:00
778c209d80 convert weekly e2e to oidc solution, remove testrecord.md for pr since the pr that trigger e2e test is different than the public pr came from fork 2024-09-18 11:21:05 +08:00
ad0ac30100 revert change on tf 2024-09-14 15:34:37 +08:00
d1f7202666 bump changed-files action version 2024-09-14 15:34:37 +08:00
435555ac25 set prevent_deletion_if_contains_resources to false 2024-09-14 14:12:05 +08:00
2181c0e173 switch to new testing environment 2024-09-14 14:12:05 +08:00
6e14503e17 fix broken config 2024-09-14 14:12:05 +08:00
286ef164dc bump azurerm to v3 so we can use oidc 2024-09-14 14:12:05 +08:00
ae3c0933c3 try to fix 201-vmss-packer-jumpbox 2024-09-14 14:12:05 +08:00
6d61deaee5 try to fix 201-vmss-packer-jumpbox 2024-09-14 14:12:05 +08:00
c35766fb83 try to fix 201-vmss-packer-jumpbox 2024-09-14 14:12:05 +08:00
d93a6bba20 try to fix 201-vmss-packer-jumpbox 2024-09-14 14:12:05 +08:00
8e98c2eb21 revert change to quickstart 2024-09-14 11:18:57 +08:00
d6ee54a2ba bump test dep version 2024-09-14 11:18:57 +08:00
e25b4f02b0 trigger ci 2024-09-14 11:18:57 +08:00
719693e7d9 correct e2e test 2024-09-14 10:48:13 +08:00
b482962a1b migrate to new release branch based workflow 2024-09-14 09:18:50 +08:00
ca492527f3 fix checkout 2024-09-13 10:27:40 +08:00
9badce8c4f correct GH_TOKEN 2024-09-13 10:22:52 +08:00
f8057aea5e correct input name 2024-09-13 10:21:13 +08:00
869b6f6930 convert e2e to a workflow_disptach event 2024-09-13 10:18:16 +08:00
5196ebf436 Revert "convert to use oidc as e2e testing authentication method"
This reverts commit 07093a38f1.
2024-09-12 15:06:23 +08:00
07093a38f1 convert to use oidc as e2e testing authentication method 2024-09-12 14:54:01 +08:00
76d27fa498 add CODEOWNERS to protect workflows 2024-09-11 04:11:14 +00:00
04b859d108 Update TestRecord 2024-09-08 03:46:29 +00:00
24b748736e Update TestRecord 2024-09-01 03:31:47 +00:00
5b29b3c6ff Update TestRecord 2024-08-25 03:30:01 +00:00
62e5708587 Update TestRecord 2024-08-18 03:30:26 +00:00
6d2e266aec Update TestRecord 2024-08-11 03:28:37 +00:00
47105169df Update TestRecord 2024-08-04 03:34:18 +00:00
773a8bc32a Update TestRecord 2024-08-01 04:12:13 +00:00
eb5d7cca9a revert deletion of TestRecord, update action permission 2024-08-01 08:43:22 +08:00
55688a5012 Revert "remove all TestRecord related tasks since we have no write permission anymore"
This reverts commit ecea4eb4c4.
2024-08-01 08:29:35 +08:00
e98d6e9583 Bump github.com/hashicorp/go-getter from 1.7.1 to 1.7.5 in /test
Bumps [github.com/hashicorp/go-getter](https://github.com/hashicorp/go-getter) from 1.7.1 to 1.7.5.
- [Release notes](https://github.com/hashicorp/go-getter/releases)
- [Changelog](https://github.com/hashicorp/go-getter/blob/main/.goreleaser.yml)
- [Commits](https://github.com/hashicorp/go-getter/compare/v1.7.1...v1.7.5)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/go-getter
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 08:16:37 +08:00
ecea4eb4c4 remove all TestRecord related tasks since we have no write permission anymore 2024-07-30 00:06:09 +00:00
20ed8541d9 Merge pull request #338 from vhorne/fw-fix-typo
fix typo - jump to server
2024-07-29 14:13:20 -07:00
981e497396 fix typo - jump to server 2024-07-26 08:18:14 -07:00
674f3d10c7 Initial put 2024-07-22 09:01:18 +08:00
6065e8c1a2 Merge pull request #330 from TomArcherMsft/UserStory281914
User Story 281914
2024-07-15 18:10:48 -06:00
c1bd8b8a27 Added README.md 2024-07-15 12:04:32 -07:00
e9dfde8f88 terraform fmt 2024-07-11 09:23:27 -07:00
c20885dabc Added required fields to default_node_pool block 2024-07-11 05:39:38 -07:00
15a19838ad Fixes 2024-07-11 05:21:16 -07:00
62f77281a0 Merge pull request #331 from andyaviles121/aistudiobasic
Basic AI Studio resource creation updates
2024-07-10 14:04:06 -07:00
e442bda05b Added output 2024-07-10 09:20:14 -07:00
84022f9adf Fixing code 2024-07-10 08:56:57 -07:00
29e0406146 updated outputs and variables used 2024-07-10 11:44:01 -04:00
b54a5ae10f Merge branch 'Azure:master' into aistudiobasic 2024-07-10 11:27:39 -04:00
65acca1e0c Fixed file name 2024-07-10 07:26:49 -07:00
795c1b540a Initial put 2024-07-10 06:31:48 -07:00
b355126422 Merge pull request #329 from TomArcherMsft/UserStory275199
User Story 275199
2024-07-03 15:45:49 -07:00
64c9af27e2 Merge pull request #326 from TomArcherMsft/UserStory256543
User Story 256543
2024-07-03 15:41:02 -07:00
189718f6c1 Merge pull request #316 from TomArcherMsft/UserStory208753
User Story 208753 - App Service Backup
2024-07-01 23:02:48 -07:00
b56dda974f fix packer error by monkey patch the version output 2024-07-02 13:53:46 +08:00
0fd2a5d129 Fixing command to get public key 2024-07-02 13:53:46 +08:00
bf2f1f5939 completed readme 2024-07-01 19:21:33 -07:00
7c29b17ca6 fixed node pool name len 2024-07-01 19:01:53 -07:00
bee854b03b changed params of node pool name 2024-07-01 17:19:12 -07:00
068cf2da3f changed params of terraform init 2024-07-01 17:18:04 -07:00
1bd62d28a8 declared user & pwd as vars 2024-07-01 17:00:31 -07:00
da5efce177 fixes 2 2024-07-01 16:48:54 -07:00
5182c37a0f fixes 2024-07-01 15:57:55 -07:00
6e7acfb695 Create a Windows-based Azure Kubernetes Service (AKS) cluster 2024-07-01 13:19:54 -07:00
40be72ba42 Merge pull request #313 from TomArcherMsft/UserStory202889
User Story 202889
2024-06-26 11:51:48 -06:00
c015ce05d3 renamed outputs.tf 2024-06-26 08:09:22 +08:00
db1dc1b5bb matching contributor guidelines 2024-06-26 08:09:22 +08:00
de72279095 removed credentials as it was not expected 2024-06-26 08:09:22 +08:00
d5c754a94b included random string suffix 2024-06-26 08:09:22 +08:00
cd38055ba3 added in azurerm key_vault provider section in main.tf 2024-06-26 08:09:22 +08:00
c15b0e61a3 removed connections schema validation skip 2024-06-26 08:09:22 +08:00
9df50ca6b2 fixed according to comments 2024-06-26 08:09:22 +08:00
6d7c599850 merged cmk into hub.tf 2024-06-26 08:09:22 +08:00
097321f7d5 added files 2024-06-26 08:09:22 +08:00
85af378d98 renamed outputs.tf 2024-06-21 13:35:30 -04:00
2f17431ec7 matching contributor guidelines 2024-06-21 12:29:29 -04:00
be4de1c357 Corrections 2024-06-19 13:24:42 -07:00
295e98af05 Fixed code 2024-06-19 12:28:51 -07:00
757ad9785e removed credentials as it was not expected 2024-06-19 11:51:11 -04:00
d7eb1aa3cc included random string suffix 2024-06-17 09:50:53 -04:00
50e642f10d initial put 2024-06-13 09:32:07 -07:00
e589974a53 Merge branch 'Azure:master' into aistudiobasic 2024-06-12 14:30:02 -04:00
ffa4aa614b Changed per review 2024-06-10 10:41:46 -07:00
bb30e6465e added in azurerm key_vault provider section in main.tf 2024-06-05 13:12:21 -04:00
7ce10b04ff Added code of conduct 2024-05-21 15:52:30 -07:00
b083b78cc3 Merge pull request #318 from ravick4u/feature/create-azure-container-app
Added new folder to create azure container app
2024-05-17 15:45:15 -07:00
275036cf3c removed connections schema validation skip 2024-05-17 20:15:08 +00:00
af2f3b7866 fixed according to comments 2024-05-17 20:13:17 +00:00
8a17dd2a7b Add dns record for built in endpoint 2024-05-17 09:02:14 +08:00
ae299a4355 Update doc 2024-05-17 09:02:14 +08:00
25aa1d089a format terraform 2024-05-17 09:02:14 +08:00
8c845be0a2 Add sample for iothub with private link 2024-05-17 09:02:14 +08:00
c4bdeb74c0 merged cmk into hub.tf 2024-05-15 21:17:25 +00:00
661af04fe8 added files 2024-05-15 20:45:38 +00:00
8039a0b4c9 Added new folder to create azure container app 2024-04-26 12:02:46 -04:00
369cd83197 Merge pull request #317 from ravick4u/feature/fixlinkstorageaccount
fix link in storage account with static website
2024-04-24 14:04:10 -07:00
3a15d1fc0d fix link in storage account with static website 2024-04-23 10:54:02 -04:00
1d574ee63d install packer before run e2e test in case we need packer 2024-03-07 22:39:01 +08:00
89f82a6cd7 modified output for NAT gateway from feedback 2024-02-21 10:20:28 +08:00
095c904b90 fixed formatting 2024-02-21 10:20:28 +08:00
9083f1a72b added provider requested in error output of tests 2024-02-21 10:20:28 +08:00
174d5fbb03 Added sample for a SQL private endpoint for Azure Private Link 2024-02-21 10:20:28 +08:00
6e33ab9696 Fixing plurality of output names 2024-02-08 12:30:19 +08:00
d80c430a56 Setting default values to those used by HashiCorp in their sample 2024-02-08 12:30:19 +08:00
f6f2e9317a Fixed default value 2024-02-08 12:30:19 +08:00
8a7032349d Wordsmithed the introduction 2024-02-08 12:30:19 +08:00
4958b3bdff Generated sample from henglu examples 2024-02-08 12:30:19 +08:00
4c73d9da3b Removed incorrect output 2024-02-07 05:00:39 -08:00
d895942b25 User Story 208753 2024-02-07 04:44:15 -08:00
482e26632b added sample for creating a NAT gateway with a virtual machine and corresponding network, subnet and public IP addresses 2024-02-02 09:41:05 +08:00
7e1008fa74 Update TestRecord 2024-01-28 02:04:04 +00:00
5257f91911 terraform fmt 2024-01-26 07:37:18 -08:00
368ab4ff9b Added outputs 2024-01-26 07:31:18 -08:00
0837a1275c Update TestRecord 2024-01-21 05:46:08 +00:00
0083ff0a12 Update TestRecord 2024-01-19 07:17:08 +00:00
c54e7eb73b removed unused variable 2024-01-19 15:16:54 +08:00
d3d6a90f20 removed unused variable 2024-01-19 15:16:54 +08:00
af2cfe9093 edited readme 2024-01-19 15:16:54 +08:00
8060a92890 added terraform for create a virtual network with two subnets quickstart in virtual network docset 2024-01-19 15:16:54 +08:00
4e87d80177 Update TestRecord 2024-01-14 01:57:26 +00:00
15bd1287bf Update TestRecord 2024-01-08 08:52:30 +00:00
eb44e5afbe try to fix broken test 2024-01-08 16:52:13 +08:00
feaac00db9 Reapply "remove 301-service-fabric since the image it used is no longer available"
This reverts commit 950f1c0346.
2024-01-08 09:14:53 +08:00
207632c32b remove 301-service-fabric-apim since the image it used is no longer available 2024-01-08 09:14:53 +08:00
2801b3b7a9 remove 301-service-fabric since the image it used is no longer available 2024-01-08 09:14:53 +08:00
b1559f83a9 Revert "remove 301-service-fabric since the image it used is no longer available"
This reverts commit 6a0437b809a2cf28db0660837b77f0fd92450db3.
2024-01-08 09:14:53 +08:00
1b14401f4a remove 301-service-fabric since the image it used is no longer available 2024-01-08 09:14:53 +08:00
2ef49582eb update code 2024-01-08 09:14:53 +08:00
ae80f13644 update code 2024-01-08 09:14:53 +08:00
b1766a7fd6 update code 2024-01-08 09:14:53 +08:00
06cb83b693 Fix 301-service-fabric 2024-01-08 09:14:53 +08:00
e009588b2e Update TestRecord 2024-01-07 03:00:09 +00:00
c01be0474c Update TestRecord 2024-01-05 07:15:59 +00:00
e47e43c578 update code 2024-01-05 15:15:42 +08:00
5b0751e2e3 update code 2024-01-05 15:15:42 +08:00
23326bb72c Fix 201-machine-learning-moderately-secure 2024-01-05 15:15:42 +08:00
efe99dbdb2 fix e2e test by querying msi's client id and pass it into the container 2024-01-04 19:42:56 +08:00
fd52e1afed trigger example test 2024-01-04 14:56:04 +08:00
846c40bdb7 trigger example test 2024-01-04 14:56:04 +08:00
696a7c9089 trigger example test 2024-01-04 14:56:04 +08:00
26a578a267 trigger example test 2024-01-04 14:56:04 +08:00
f71b56e99a trigger example test 2024-01-04 14:56:04 +08:00
22b2e39335 fix 201vmsspacker jumpbox, MSI_ID is object id not client id, we need az cli to retrieve client id 2024-01-04 14:56:04 +08:00
b6d3ffd601 Update TestRecord 2024-01-03 02:01:05 +00:00
7e2f19b6cb add random suffix for machine learning workspace to avoid testing failure. 2024-01-03 10:00:49 +08:00
cc391fef1f Revert "Fix 201-machine-learning-moderately-secure"
This reverts commit e98e893d2d.
2024-01-03 10:00:49 +08:00
bbaf15cce9 Revert "update code"
This reverts commit 18087e206b.
2024-01-03 10:00:49 +08:00
9679e8d470 remove terragrunt config 2024-01-03 10:00:49 +08:00
5e1d8c38aa rename subtest 2024-01-03 10:00:49 +08:00
9259270d0c try to make 202-mlmsev testable 2024-01-03 10:00:49 +08:00
a39e09c2d5 update code 2024-01-03 10:00:49 +08:00
57a6577c0d Fix 201-machine-learning-moderately-secure 2024-01-03 10:00:49 +08:00
2c2775f299 pin github action versions 2024-01-03 09:35:23 +08:00
273f40246d Update TestRecord 2024-01-02 00:47:29 +00:00
cb3d6100e0 update code 2024-01-02 08:47:14 +08:00
32e167c179 update code 2024-01-02 08:47:14 +08:00
c6c516ed9f Fix Terraform Template 2024-01-02 08:47:14 +08:00
c0b2f8ea11 Update TestRecord 2023-12-31 02:13:52 +00:00
0aa98ad322 Update TestRecord 2023-12-24 01:51:19 +00:00
982855c02d Update TestRecord 2023-12-17 02:28:42 +00:00
81dea1b7f3 Update TestRecord 2023-12-10 02:15:27 +00:00
e2518d4322 Update TestRecord 2023-12-04 04:23:22 +00:00
91b46e5a4c make e2e tests parallel 2023-12-04 10:01:46 +08:00
11ad06e781 Update TestRecord 2023-11-30 21:56:33 +00:00
73a62df59e Merge pull request #298 from mbender-ms/avnm-create-management-group-scope
virtual network manager - New Terraform Template - Quickstart Create virtual network manager with Management Group Scope
2023-11-30 13:56:17 -08:00
99037bb0e5 fix example and e2e test 2023-11-30 10:39:02 +08:00
5895b4f1c4 updates from Review 2023-11-30 10:39:02 +08:00
3e66747328 finished testing 2023-11-30 10:39:02 +08:00
75c6fa2455 update terraform 2023-11-30 10:39:01 +08:00
2cfbc95445 201-vmss-appgw-waf - remove unused case (#276) 2023-11-28 09:26:35 +08:00
a9967b1afa 201-storage-static-website-cdn-ssl - remove unused case (#278) 2023-11-28 09:25:17 +08:00
abe19919f1 201-web-app-windows-vnet - remove unused case (#283) 2023-11-28 09:24:13 +08:00
d76f364b81 201-aks-gpu-nodepool - remove unused case (#285) 2023-11-28 09:23:29 +08:00
056c7928e1 201-aks-advanced-networking - remove unused case (#286) 2023-11-28 09:22:11 +08:00
ea0802157a 301-hub-spoke-network-3vm - remove unused case (#287) 2023-11-28 09:21:14 +08:00
d55380d2d4 301-aks-windows-nodepool - remove unused case (#288) 2023-11-28 09:05:17 +08:00
9edb2d544f Update TestRecord 2023-11-26 06:22:08 +00:00
a09aa80fe9 Update TestRecord 2023-11-23 02:42:08 +00:00
dcad1a24c3 Fix 201-aks-acr-identity (#292) 2023-11-23 10:41:55 +08:00
9037930ade Update TestRecord 2023-11-19 06:00:15 +00:00
01f9c49cd0 Update TestRecord 2023-11-17 09:40:45 +00:00
97c14ebe74 Fix 201-vmss-disk-encryption-extension (#277) 2023-11-17 17:40:30 +08:00
2ca5b80520 Update TestRecord 2023-11-17 09:39:58 +00:00
256f1edff2 Fix 201-vmss-jumpbox (#275)
* Fix 201-vmss-jumpbox
2023-11-17 17:39:39 +08:00
a09e5f225b Update TestRecord 2023-11-17 02:47:23 +00:00
960d0719c4 Fix 201-function-app-key-vault-ref (#291) 2023-11-17 10:47:09 +08:00
3d31e20518 Update TestRecord 2023-11-17 02:46:44 +00:00
06730dbb45 Fix 201-postgresql-fs-db (#279) 2023-11-17 10:46:31 +08:00
1eed1d2c56 Update TestRecord 2023-11-17 02:46:07 +00:00
9ff4e9f95a Fix 201-function-app (#290) 2023-11-17 10:45:54 +08:00
b15cfb14ad Update TestRecord 2023-11-17 02:22:22 +00:00
aad151de90 User Story 177223 (#269)
* Added output of endpoint; Renamed readme
2023-11-17 10:22:05 +08:00
ca8ddca40e Update readme.md (#297) 2023-11-16 09:58:36 +08:00
3579842ada Update TestRecord 2023-11-16 01:54:14 +00:00
773bba8680 Fix 101-managed-instance (#273) 2023-11-16 09:53:59 +08:00
984e6bd413 Update TestRecord 2023-11-15 05:27:45 +00:00
6e5cdfc2a6 101-devtest-labs - generate the vm name with random value (#272)
* 101-devtest-labs - update the vm name
2023-11-15 13:27:30 +08:00
d136bbb5a1 Update TestRecord 2023-11-15 04:38:52 +00:00
69d738882f 101-machine-learning - update the settings of random_string (#271) 2023-11-15 12:38:36 +08:00
f72c62d2ad Update TestRecord 2023-11-14 14:40:06 +00:00
757cdd7134 Fix 201-mysql-fs-db (#284) 2023-11-14 22:39:47 +08:00
72c7e787ec Skip empty example (#270)
* skip empty examples that contain no tf files

* refactor code
2023-11-13 11:27:32 +08:00
161494719e Update TestRecord 2023-11-12 07:02:47 +00:00
ba98f7c013 Update TestRecord 2023-11-05 07:29:24 +00:00
4def5c4002 Update TestRecord 2023-10-29 07:07:22 +00:00
61d807a87b Update TestRecord 2023-10-24 03:38:27 +00:00
00b03117df User Story 171709 (#267)
* Updating sample for consistency
2023-10-24 11:38:10 +08:00
03dbc8db99 Update TestRecord 2023-10-22 07:10:39 +00:00
f9eccadd36 Update TestRecord 2023-10-17 20:11:08 +00:00
e8f70dc93c Merge pull request #253 from cshea-msft/chashea-patch-1
firewall quickstart with ipgroups
2023-10-17 13:10:52 -07:00
89772f9027 Merge pull request #254 from cshea-msft/chashea-patch-02
fw quickstart with multiple addresses
2023-10-17 13:10:27 -07:00
78d3aabd53 Update TestRecord 2023-10-17 20:10:15 +00:00
7179c30bbf Merge pull request #252 from cshea-msft/chashea-patch-03
Creating AzureFirewall with AV Zones quickstart
2023-10-17 13:09:55 -07:00
3a91285ae3 Merge branch 'Azure:master' into chashea-patch-03 2023-10-17 08:58:13 -04:00
f069db857e Merge branch 'Azure:master' into chashea-patch-02 2023-10-17 08:58:02 -04:00
214f85247f Merge branch 'Azure:master' into chashea-patch-1 2023-10-17 08:57:54 -04:00
ec82d414d3 Update TestRecord 2023-10-16 21:44:36 +00:00
1d14811509 Merge pull request #258 from pauljewellmsft/amlfs-sample
Add Terraform code for deploying Azure Managed Lustre file system
2023-10-16 14:44:16 -07:00
6330a303c7 Update outputs.tf 2023-10-16 15:18:45 -04:00
60bba8f8af Incorporate review feedback 2023-10-16 15:12:22 -04:00
9a5792ab3f Merge branch 'master' of https://github.com/Azure/terraform into amlfs-sample 2023-10-16 10:19:00 -04:00
6fd7056df5 Update TestRecord 2023-10-15 06:51:37 +00:00
21c4654b2d Add code for AMLFS resource 2023-10-12 15:09:09 -04:00
629a403870 Initial changes for AMLFS sample 2023-10-11 17:09:41 -04:00
534bfe3c19 Update TestRecord 2023-10-11 01:34:31 +00:00
c607e8db9e Updated sample (#256) 2023-10-11 09:34:10 +08:00
fd8b296704 Update TestRecord 2023-10-08 06:43:12 +00:00
1f19491026 fixed jump-subnet 2023-10-06 10:11:06 -04:00
371cd6947e fix format 2023-10-05 17:18:34 -04:00
708dbf9f80 fixed nsg protocol error 2023-10-05 17:00:51 -04:00
e24feee41a formatting 2023-10-05 16:54:59 -04:00
deee58f798 add ssh key to module 2023-10-05 16:52:15 -04:00
f436fad9ef small space change 2023-10-05 15:58:18 -04:00
d2fe413a19 made small changes to file 2023-10-05 15:56:50 -04:00
67de624015 fixed minor issues 2023-10-05 15:33:57 -04:00
f4a6a235e2 update file with changes 2023-10-05 14:04:10 -04:00
6d957e8a99 updating providers.tf 2023-10-04 15:02:11 -04:00
e25785c539 update providers.tf 2023-10-04 15:00:02 -04:00
3c051b5d19 updating providers file 2023-10-04 14:59:29 -04:00
d389b6df65 chang to main.tf 2023-10-04 09:38:56 -04:00
e80ace340d updating readme 2023-10-03 17:12:10 -04:00
477932520d updating readme 2023-10-03 17:10:50 -04:00
69a69c4969 fixed files on feedback 2023-10-03 17:08:46 -04:00
757c9646ae made minor changes 2023-10-03 09:44:43 -04:00
44857345c7 update changes to files 2023-10-02 21:32:54 -04:00
00d4ef3f0c update files from comments 2023-10-02 20:37:33 -04:00
cf042efa84 Update TestRecord 2023-10-01 06:25:11 +00:00
533b50d60f Update TestRecord 2023-09-26 23:25:17 +00:00
9bf8cf38f8 Merge pull request #255 from ericd-mst-github/erd-tf-vm-autoshutdown
added TF code for Azure Automation runbook
2023-09-26 16:25:02 -07:00
e13fcdbffa modified outputs.tf based on feedback 2023-09-26 10:57:49 -04:00
acabdbdb34 formatting updates for variables markdown table 2023-09-26 10:33:39 -04:00
51abcf64bf readme updates for variables markdown table 2023-09-26 10:28:13 -04:00
f46699d1f2 updated variables.tf with formatting and validation blocks where needed 2023-09-26 10:16:31 -04:00
efb8d0f25c updated providers.tf 2023-09-26 10:00:13 -04:00
f82db3eb77 removed commented code 2023-09-26 09:56:46 -04:00
e1e1f80f59 readme changes for variables 2023-09-25 17:12:51 -04:00
78c37329b4 added TF code for Azure Automation runbook 2023-09-25 17:04:52 -04:00
ec8fa91e05 update files 2023-09-25 16:18:40 -04:00
e0c258c3d7 update readme 2023-09-25 13:48:04 -04:00
295ee5a644 update readme 2023-09-25 13:38:56 -04:00
06cb833672 update files 2023-09-25 10:39:55 -04:00
02691ea927 commit files to folder 2023-09-24 21:13:18 -04:00
eda163c0f7 update changes to file 2023-09-24 20:38:46 -04:00
5c810c97a3 update files 2023-09-24 12:28:21 -04:00
4c0e3f6034 Update TestRecord 2023-09-24 06:10:24 +00:00
d6cb019394 add new files to new branch 2023-09-23 16:05:24 -04:00
a242f2310b made changes 2023-09-23 15:44:06 -04:00
dcd3461cda creating new fw quickstart 2023-09-23 15:42:30 -04:00
bf91a62e3b Merge branch 'Azure:master' into master 2023-09-23 10:55:54 -04:00
c2ccaa2266 Update TestRecord 2023-09-20 12:37:28 +00:00
445889b3ee bump go mod versions (#251) 2023-09-20 14:11:09 +08:00
5eb79ccd6c remove deprecated packer file (#248) 2023-09-20 07:47:20 +08:00
f2a6901f3f Convert legacy Packer json template to hcl2 template (#247)
* convert legacy Packer json template to hcl2 template
2023-09-19 13:37:17 +08:00
bb15543608 Update TestRecord 2023-09-17 06:12:00 +00:00
981578f540 Update TestRecord 2023-09-10 06:36:38 +00:00
c6c6c9c678 Update TestRecord 2023-09-04 02:24:48 +00:00
8659e09ccb Add an example of sql security alert policy (#241)
* add example of sql security alert policy

---------

Co-authored-by: Nanxuan Xu <nanxu@microsoft.com>
2023-09-04 10:24:34 +08:00
9a2f9b8af3 Update TestRecord 2023-09-04 02:24:06 +00:00
8aa0c51a71 azfw quickstarts (#245)
* adding azfw quickstarts
2023-09-04 10:23:48 +08:00
382bc865d3 Update TestRecord 2023-09-04 02:06:10 +00:00
7ec608cc1e Fixing broken AKS/AGIC sample (#240)
* Fixing broken sample and update

---------

Co-authored-by: hezijie <lonegunmanb@hotmail.com>
2023-09-04 10:05:54 +08:00
dd26a7d74f Update TestRecord 2023-09-03 05:46:55 +00:00
40d6dc17fe Update TestRecord 2023-08-27 06:39:59 +00:00
e46e9cec2c removing files from this branch 2023-08-22 19:21:06 -04:00
ed29f3c468 adding azfw quickstarts 2023-08-22 19:02:39 -04:00
c1747083b4 Update TestRecord 2023-08-20 05:59:13 +00:00
d1b9572df1 Update TestRecord 2023-08-13 05:44:21 +00:00
bb9ca145b8 Update TestRecord 2023-08-11 02:34:29 +00:00
435a067b5d User Story 145880 (#243)
* Updating Front Door Standard/Premium code sample
2023-08-11 10:34:09 +08:00
fee12df179 Update TestRecord 2023-08-11 02:11:53 +00:00
e34f713c9e Updated Front Door Classic code sample (#244) 2023-08-11 10:11:38 +08:00
2d6bb88c73 Update TestRecord 2023-08-09 02:15:39 +00:00
9e77030272 Update 101-front-door-standard-premium to use azurerm 3.67.0 (#242)
* Update 101-front-door-standard-premium to use azurerm 3.67.0

* Update provider version
2023-08-09 10:15:20 +08:00
d13b385744 Update TestRecord 2023-08-06 05:55:38 +00:00
300a1988aa Update TestRecord 2023-08-01 03:43:17 +00:00
d0f95da522 Updated article (#239) 2023-08-01 11:43:01 +08:00
0cc90f4455 Update TestRecord 2023-07-30 07:09:38 +00:00
e361ddd231 Update TestRecord 2023-07-24 01:01:53 +00:00
58245fa62c User Story 125263 (#238)
* Updated to use AzApi to obtain SSH (instead of tls)
2023-07-24 09:01:38 +08:00
b405c2cce8 Update TestRecord 2023-07-16 05:56:28 +00:00
3b05c31fd3 Update TestRecord 2023-07-13 01:25:14 +00:00
aecb7d60e3 User Story 124432 (#236)
* Replaced password with SSH key
2023-07-13 09:24:59 +08:00
7c224d76a1 Update TestRecord 2023-07-09 05:50:56 +00:00
4a451dd9f7 Update TestRecord 2023-07-07 02:31:15 +00:00
e9538db55e User Story 89540 (#231)
* Fixing Windows VM cluster article code
2023-07-07 10:30:53 +08:00
f8b805db85 Update TestRecord 2023-07-02 11:12:02 +00:00
7ccf04124f Update TestRecord 2023-06-27 17:36:47 +00:00
ab98a8b09d Merge pull request #234 from mbender-ms/avnm-update-create-mesh
Tests passed so merging.
Update 101-virtual-network-manager-create-mesh
2023-06-27 10:36:30 -07:00
a966811863 updates to vnet code and test 2023-06-27 09:38:36 -05:00
8fedbd9b92 Merge branch 'Azure:master' into avnm-update-create-mesh 2023-06-26 14:59:21 -05:00
eb55df526f Update TestRecord 2023-06-25 05:47:31 +00:00
2ee94c1116 Updates for Azure Policy add 2023-06-20 10:43:54 -05:00
71252cd220 Updates for Azure Policy add 2023-06-20 10:37:04 -05:00
47a204b73f Updates for Azure Policy add 2023-06-20 10:29:54 -05:00
27c2712af1 Updates to outputs 2023-06-20 09:48:42 -05:00
7a098d5ccc Merge branch 'master' of https://github.com/mbender-ms/terraform 2023-06-20 09:47:07 -05:00
fdb120086a Merge branch 'master' of https://github.com/Azure/terraform 2023-06-20 09:46:15 -05:00
6ad93edac4 Merge branch 'Azure:master' into master 2023-06-19 16:02:30 -05:00
47ddd8e1af Update TestRecord 2023-06-18 05:48:10 +00:00
f0c6b0c4fc Update TestRecord 2023-06-11 05:39:25 +00:00
862926c583 Update TestRecord 2023-06-07 22:34:03 +00:00
e0c99d63b8 Merge pull request #230 from TomArcherMsft/UserStory91128
User Story 91128
2023-06-07 15:33:47 -07:00
1cec01890b Using splat expressions 2023-06-06 15:13:52 -07:00
5777e4a8ae Added output var for randomly generated vnet names 2023-06-06 14:40:25 -07:00
d3f3a3c73b Merge branch 'Azure:master' into master 2023-06-06 08:10:49 -05:00
998c8216ba Update TestRecord 2023-06-05 03:00:37 +00:00
aae1a9af55 virtual network manager - initial commit (#226)
* initial commit
---------

Co-authored-by: Michael Bender <michael.bender@microsoft.com>
2023-06-05 11:00:21 +08:00
5e5c122308 Merge branch 'master' of https://github.com/Azure/terraform 2023-06-04 21:15:16 -05:00
dba97b976b Update TestRecord 2023-06-04 06:02:18 +00:00
b2737b65a6 Update TestRecord 2023-06-01 21:02:44 +00:00
69ef9452ff Merge pull request #227 from TomArcherMsft/UserStory95456
User Story 95456
2023-06-01 14:02:27 -07:00
c55631aea8 Wordsmithed description of msi_id variable 2023-05-31 07:29:11 -07:00
e4ce8b240d Update TestRecord 2023-05-31 05:44:45 +00:00
195aebd12b User Story 60501: 101-databricks-cmk-dbfs (#219)
* Part of POC to test generating sample code and articles using OpenAI.
2023-05-31 13:44:28 +08:00
2e4686f8e6 Merge branch 'master' of https://github.com/Azure/terraform 2023-05-30 14:18:35 -05:00
75fdf6cddd Update TestRecord 2023-05-28 05:32:27 +00:00
05bf429cba Replaced use of service principal with identity 2023-05-27 17:09:34 -07:00
99fa801597 Moved code into sp.tf to make it more self-contained 2023-05-26 16:21:01 -07:00
c3623b46bd Updated readme 2023-05-26 11:41:39 -07:00
fe231e8d91 Removed Log Analytics resources from sample as not used in article 2023-05-26 11:37:59 -07:00
d0a579d375 Update TestRecord 2023-05-25 17:48:50 +00:00
48760f85d4 Merge pull request #225 from TomArcherMsft/UserStory90135
User Story 90135
2023-05-25 10:48:35 -07:00
6cab78c426 Merge pull request #224 from TomArcherMsft/UserStory89659
User Story 89659
2023-05-25 10:30:25 -07:00
9b5bab7df2 Made suggested change 2023-05-24 12:26:18 -07:00
88d524b952 Made edits per Code Review 2023-05-24 11:59:56 -07:00
b316c4dd0d Ran 'terraform fmt' 2023-05-24 11:02:38 -07:00
36e167c702 Update TestRecord 2023-05-21 05:53:59 +00:00
bc381cc73e Changed admin username 2023-05-19 08:10:54 -07:00
40ac990971 Edits per Code Review 2023-05-19 08:03:44 -07:00
c7bd6dc586 Edits per Code Review 2023-05-18 11:07:54 -07:00
0e669e82ec updates 2023-05-16 21:33:19 -05:00
435ce1451b Update TestRecord 2023-05-14 05:30:18 +00:00
669f6c96c6 Added validation for workspace sku 2023-05-12 17:30:37 -07:00
71cee46b77 Ran 'terraform fmt' 2023-05-12 17:10:12 -07:00
b4d429be35 User Story 90135 2023-05-12 08:52:11 -07:00
3433d4d76d Changed deprecated TF resource (azurerm_virtual_machine) 2023-05-10 05:04:19 -07:00
3110ce9954 Merge pull request #221 from TomArcherMsft/UserStory89504
User Story 89504
2023-05-09 12:41:10 -07:00
7db7b5fa27 GitHub Issue #1125 - azure-dev-docs 2023-05-09 10:38:30 -07:00
d710a692c9 Update TestRecord 2023-05-07 06:02:14 +00:00
0a323c07bc Update TestRecord 2023-04-30 04:02:50 +00:00
a2b1d39edd Update TestRecord 2023-04-23 05:39:41 +00:00
c31337ee74 Update TestRecord 2023-04-22 02:37:43 +00:00
1c2b68b884 User Story 60501: 101-stream-analytics-job (#216)
* Part of POC to test generating sample code and articles using OpenAI.
2023-04-22 10:37:21 +08:00
817c23d293 Update TestRecord 2023-04-20 22:41:33 +00:00
9550abf245 User Story 60501: 101-sql-database (#217)
* Part of POC to test generating sample code and articles using OpenAI.

* Changes per Code Review
2023-04-21 06:41:18 +08:00
43fb22bcaf Update TestRecord 2023-04-17 06:35:35 +00:00
84e02fea91 Part of POC to test generating sample code and articles using OpenAI. (#212) 2023-04-17 14:35:14 +08:00
cb11824f70 Update TestRecord 2023-04-16 05:46:30 +00:00
6113f340a6 Update TestRecord 2023-04-12 18:17:30 +00:00
cdef177a64 Merge pull request #211 from TomArcherMsft/UserStory60501-notification-hub
User Story 60501: 101-notification-hub
2023-04-12 11:17:08 -07:00
67452c3289 New sample (converted from Bicep via OpenAI) 2023-04-12 09:30:19 -07:00
f90f330230 Update TestRecord 2023-04-11 19:55:39 +00:00
a74afd54bf Merge pull request #202 from TomArcherMsft/UserStory60501-ddos-protection-plan
User Story 60501: 101-ddos-protection-plan
2023-04-11 12:55:19 -07:00
55b9a77434 Update TestRecord 2023-04-09 05:30:27 +00:00
c23f636926 Update TestRecord 2023-04-05 02:55:25 +00:00
6ac4eb3abf User Story 60501: 101-key-vault-key (#203)
* New sample (converted from Bicep via OpenAI)
2023-04-05 10:55:02 +08:00
8d0f0dd09d Merge pull request #208 from TomArcherMsft/fix-cdn-sample
Added CDN profile name to outputs
2023-04-04 11:43:08 -07:00
5836e55603 Update TestRecord 2023-04-02 05:28:57 +00:00
53a8eaf5b3 Update TestRecord 2023-03-31 00:55:29 +00:00
3987ea0854 User Story 60501: batch-account-with-storage (#194)
* New sample (converted from Bicep via OpenAI)

* Edit per Code Review

* Changes per Code Review
2023-03-31 08:55:09 +08:00
27dba4b578 Added CDN profile name to outputs 2023-03-30 11:22:14 -07:00
12122dbf3d Update TestRecord 2023-03-30 16:43:41 +00:00
9d84541646 Merge pull request #195 from TomArcherMsft/UserStory60501-cdn-with-custom-origin
User Story 60501: cdn-with-custom-origin
2023-03-30 09:43:23 -07:00
47b979e026 Removed listing of unused variables from readme 2023-03-27 17:20:54 -07:00
665d3c64ee fixes in readme.md 2023-03-27 17:15:15 -07:00
08c275cf7a Output of fqdn 2023-03-27 17:11:24 -07:00
a2c685bc3f Merge branch 'master' of https://github.com/Azure/terraform into UserStory60501-ddos-protection-plan 2023-03-27 11:21:26 -07:00
cf415bbf2b Update TestRecord 2023-03-26 05:28:33 +00:00
30f1682c74 Fixes 2023-03-25 16:10:16 -07:00
a4ae7b817c New sample (converted from Bicep via OpenAI) 2023-03-25 11:12:55 -07:00
631c382fac Revert "rename file back to fix broken CI"
This reverts commit f3044799f3.
2023-03-23 10:42:48 +08:00
f3044799f3 rename file back to fix broken CI 2023-03-23 09:15:46 +08:00
8074be48ec Update TestRecord 2023-03-21 12:01:37 +00:00
bb3f78b7c6 fix 201-postgresql-fs-db example (#200) 2023-03-21 20:01:19 +08:00
e6e6068127 fix broken example (#201) 2023-03-21 20:01:05 +08:00
0806bf1677 Update TestRecord 2023-03-21 07:29:58 +00:00
14b200bbba fix broken example (#199) 2023-03-21 15:29:41 +08:00
298c56005b Update TestRecord 2023-03-21 00:37:04 +00:00
51841010fa Merge pull request #196 from TomArcherMsft/UserStory60501-cognitive-services-account
User Story 60501: cognitive-services-account
2023-03-20 17:18:12 -07:00
355bb60f88 Update TestRecord 2023-03-21 00:05:15 +00:00
73532b771a Merge pull request #193 from TomArcherMsft/UserStory60501-azure-cognitive-search
User Story 60501: azure-cognitive-search
2023-03-20 16:57:33 -07:00
fc577f6773 Update TestRecord 2023-03-19 05:17:21 +00:00
690c7ee48f Removed quotes from variable default column in README.MD 2023-03-18 13:41:58 -07:00
566ede9f1e New sample (converted from Bicep via OpenAI) 2023-03-18 13:34:12 -07:00
bb54b1f836 New sample (converted from Bicep via OpenAI) 2023-03-18 12:49:54 -07:00
771442acd4 New sample (converted from Bicep via OpenAI) 2023-03-17 12:00:33 -07:00
35b3afaf63 fix e2e test 2023-03-16 13:48:57 +08:00
e6a85b7606 Update TestRecord 2023-03-15 19:39:53 +00:00
819d49bdc9 Merge pull request #192 from TomArcherMsft/UserStory60501-aci-linuxcontainer-public-ip
User Story 60501: aci-linuxcontainer-public-ip
2023-03-15 12:39:25 -07:00
11eff2b14a ignore TestRecord 2023-03-15 09:06:49 +08:00
3fa3dc60a0 Update TestRecord 2023-03-15 00:49:34 +00:00
2f73fa933f Fix concurrent error in cosmosdb example (#191)
* fix concurrent error in cosmosdb example

* change to random_string to reduce the collision rate

* fix 101-cosmos-db-free-tier account name too long issue

---------

Co-authored-by: zjhe <hezijie@microsoft.com>
2023-03-15 08:49:16 +08:00
87a654c36c Changing ver info per Zijie 2023-03-14 13:41:19 -07:00
f8c0796ad4 Updated README 2023-03-14 13:20:25 -07:00
47483432a8 New sample (converted from Bicep via OpenAI) 2023-03-14 13:13:52 -07:00
c4d4d696a5 Update TestRecord 2023-03-13 23:25:10 +00:00
513af170ca Fix 101-front-door-standard-premium (#189)
* add random string to resource group name to avoid concurrent test issue

* change region to obtain quota

---------

Co-authored-by: zjhe <hezijie@microsoft.com>
2023-03-14 07:24:55 +08:00
3d1a3532c8 Update TestRecord 2023-03-13 23:24:40 +00:00
3cc146daba 101-front-door-premium-storage-blobs-private-link (#190)
Co-authored-by: zjhe <hezijie@microsoft.com>
2023-03-14 07:24:22 +08:00
b9a16174f1 Update TestRecord 2023-03-13 23:24:05 +00:00
8aa98d5569 Fix 101-storage-static-website (#188)
* fix 101-storage-static-website

---------

Co-authored-by: zjhe <hezijie@microsoft.com>
2023-03-14 07:23:47 +08:00
fcd4f1d54f Update TestRecord 2023-03-13 23:21:13 +00:00
bf49ecaafd Fix 101-synapse (#187)
* fix 101-synapse

Co-authored-by: zjhe <hezijie@microsoft.com>
2023-03-14 07:20:21 +08:00
03954463dc Update TestRecord 2023-03-13 22:45:49 +00:00
74df43335e Merge pull request #164 from TomArcherMsft/UserStory60501-azurerm_dns_zone
User Story 60501: azurerm_dns_zone
2023-03-13 15:45:30 -07:00
2032651394 Incorporating more feedback 2023-03-12 20:01:20 -07:00
1d00bbe97c add devcontainer config so we can have a better codespace environment 2023-03-13 10:53:30 +08:00
1e14200cda Update TestRecord 2023-03-12 06:06:51 +00:00
39ecf96c67 Used brackets to split long ternary conditional across multiple lines 2023-03-11 14:07:59 -08:00
3d2e3e7ae5 Removed heredoc attempt 2023-03-11 13:56:03 -08:00
3047ab006f Added heredoc syntax so that reader doesn't have to scroll horizontally 2023-03-11 12:21:02 -08:00
33a3b48bb5 Edits per Code Review 2023-03-11 11:05:40 -08:00
2d84414f76 Update TestRecord 2023-03-10 22:42:04 +00:00
ae25ed44ce Merge pull request #158 from TomArcherMsft/UserStory60501-azure-api-management-create
User Story 60501: Azure API Management
2023-03-10 14:41:48 -08:00
4c70e44527 Update TestRecord 2023-03-10 22:11:42 +00:00
c3ff407cc9 Merge pull request #186 from TomArcherMsft/UserStory60501-analysis-services-create
Changed var name
2023-03-10 14:11:22 -08:00
13e56f514d Removed unused variable 2023-03-09 17:56:34 -08:00
2f367438a0 Corrected version format 2023-03-09 17:51:11 -08:00
700fa7921e Changed var name 2023-03-09 13:01:57 -08:00
ce4ead51b5 Added info to readme 2023-03-09 12:30:19 -08:00
dc7eb43fc5 Updated outputs.tf to include rg name 2023-03-09 11:35:26 -08:00
562d51ac13 Edits per Code Review 2023-03-09 11:08:55 -08:00
40cd7a974e Update TestRecord 2023-03-08 20:48:54 +00:00
042640b2df fix weekly e2e test permission issue 2023-03-08 22:31:04 +08:00
800ed76ce6 fix weekly e2e test permission issue 2023-03-08 14:13:17 +08:00
32196f0dd6 Update TestRecord 2023-03-07 20:02:29 +00:00
3fd4b1b0a7 Merge pull request #155 from TomArcherMsft/UserStory60501-analysis-services-create
User Story 60501: Azure Analysis Services
2023-03-07 12:02:06 -08:00
5a1bf92dd1 Ran 'terraform fmt' 2023-03-07 05:46:49 -08:00
bdf176ca43 fix weekly e2e test 2023-03-06 15:36:19 +08:00
cdc2e20046 Update TestRecord 2023-03-06 07:06:18 +00:00
c7dcad203c fix 101-front-door-premium-storage-blobs-private-link (#185) 2023-03-06 15:06:00 +08:00
e9e0d03cc3 Update TestRecord 2023-03-06 05:49:00 +00:00
327a771a19 101-managed-instance patch (#181)
* fix example
2023-03-06 13:48:38 +08:00
0b3252df72 Edits per Tech Review 2023-03-05 18:11:41 -08:00
6f269e7869 Update TestRecord 2023-03-06 02:00:17 +00:00
4264b769e8 fix example (#177) 2023-03-06 09:59:55 +08:00
24f9f839b9 try to fix weekly-e2e commit issue 2023-03-06 09:55:09 +08:00
c0efebc9f3 Update TestRecord 2023-03-02 05:42:15 +00:00
5e48773198 201-web-app-postgres-keyvault patch (#179)
* fix example
2023-03-02 13:41:59 +08:00
95a5b0cac4 Update TestRecord 2023-03-02 05:38:55 +00:00
42921d4a1f fix example (#178) 2023-03-02 13:38:37 +08:00
52ada02207 Update TestRecord 2023-03-02 05:37:46 +00:00
452dac32c9 101-machine-learning patch (#172)
* fix 101-machine-learning example

* fix example
2023-03-02 13:37:30 +08:00
7c06cacc7e Update TestRecord 2023-03-02 05:36:22 +00:00
841ae58a2f Removed unused variable. (#165) 2023-03-02 13:36:02 +08:00
dfb496f340 Update TestRecord 2023-03-02 02:55:07 +00:00
8dca60b848 201-mysql-fs-db patch (#182)
* fix example

* fix example

* fix example
2023-03-02 10:54:49 +08:00
b32087dbf6 Update TestRecord 2023-03-01 02:23:31 +00:00
819a4b141d fix 201-aks-helm (#183) 2023-03-01 10:23:16 +08:00
4b813f543c Update TestRecord 2023-03-01 02:22:55 +00:00
a09536cbbe User story66570 (#184)
* Changes to VM image; Added type attr to all vars
2023-03-01 10:22:35 +08:00
082873b8e4 Merge pull request #180 from TomArcherMsft/UserStory60501-devtest-lab
Updates to 101-devtest-labs sample
2023-02-27 12:58:21 -08:00
33a101cd1d Added output of values 2023-02-27 12:14:54 -08:00
190850d393 Update TestRecord 2023-02-24 07:25:41 +00:00
2eba295342 101-web-app-windows-dotnet patch (#173)
* fix 101-web-app-windows-dotnet example
2023-02-24 15:25:22 +08:00
86ffc09726 Update TestRecord 2023-02-24 07:24:43 +00:00
a543607bdd fix 101-web-app-linux-java example (#174) 2023-02-24 15:24:23 +08:00
4ada2e44f0 Update TestRecord 2023-02-24 07:23:34 +00:00
b2d0dbc2e7 fix example (#176) 2023-02-24 15:23:15 +08:00
2bbd727b41 Update TestRecord 2023-02-24 06:58:10 +00:00
077374c7c6 fix 101-web-app-linux-container example (#175) 2023-02-24 14:57:52 +08:00
20d8beea6d Update TestRecord 2023-02-23 23:08:09 +00:00
9deef32e75 Merge pull request #154 from TomArcherMsft/UserStory60501-devtest-lab
User Story 60501: devtest-labs
2023-02-23 15:07:50 -08:00
6f0c59c97f Update TestRecord 2023-02-23 18:39:47 +00:00
eb63491dc1 Merge pull request #168 from lonegunmanb/f-201-aks-acr-identity
Fix 201-aks-acr-identity
2023-02-23 10:39:30 -08:00
19d21ddcfa Merge pull request #2 from lonegunmanb/UserStory60501-devtest-lab
Fix 101-devtest-labs automation test by adding some default value for variables
2023-02-22 18:48:12 -08:00
dfcd06404e add type for variables 2023-02-23 09:26:31 +08:00
93f6488941 fix 101-devtest-labs automation test 2023-02-23 09:23:44 +08:00
3028ca87db upgrade default node pool type 2023-02-22 09:42:01 +08:00
3aa58b926f Update TestRecord 2023-02-22 01:32:34 +00:00
343534d2ec 201-aks-rbac-dashboard-admin patch (#148)
* fix 201-aks-rbac-dashboard-admin

* remove azuread provider block

* rename aks resource to main

---------

Co-authored-by: zjhe <hezijie@microsoft.com>
2023-02-22 09:32:13 +08:00
6e59008b91 Update TestRecord 2023-02-21 06:29:15 +00:00
ef09110e94 101-front-door-classic patch (#170)
* fix example
2023-02-21 14:28:55 +08:00
0ba1d6ae57 Update TestRecord 2023-02-21 06:18:07 +00:00
4e0ad3a89c 101-firewall-standard patch (#169)
* fix example

* add variable type
2023-02-21 14:17:48 +08:00
559ba2cdf0 amending azurerm provider block to fix this exmaple 2023-02-21 11:27:41 +08:00
30427c1bf9 fix incorrect depends_on 2023-02-21 10:46:56 +08:00
a198987b19 use identity 2023-02-21 10:38:21 +08:00
1e7ae5e1c8 Update TestRecord 2023-02-21 02:17:51 +00:00
a0db8af3a5 fix example (#167) 2023-02-21 10:17:36 +08:00
ed79d1aa3b fix 201-aks-acr-identity 2023-02-21 10:14:26 +08:00
30ab022102 Update TestRecord 2023-02-19 01:53:22 +00:00
e6f76b868e Update TestRecord 2023-02-18 05:10:13 +00:00
7afaf61150 revert deletion of aci.tf to fix broken doc build pipeline (#166)
Co-authored-by: zjhe <hezijie@microsoft.com>
2023-02-18 13:09:57 +08:00
82ec8c1eab Update TestRecord 2023-02-17 04:59:48 +00:00
5d3a3f367c 201-vm-disk-encryption-extension patch (#152) 2023-02-17 12:59:18 +08:00
624d602345 Update TestRecord 2023-02-17 02:29:31 +00:00
f4ddf1cd2e fix 101-cosmos-db-serverside-functionality example (#163) 2023-02-17 10:29:14 +08:00
c4d0e56052 Update TestRecord 2023-02-17 01:46:32 +00:00
c5185847d9 fix 101-cosmos-db-azure-container-instance example (#159) 2023-02-17 09:46:14 +08:00
2705688717 Update TestRecord 2023-02-17 01:45:47 +00:00
cf17d34de4 fix 101-cosmos-db-manualscale example (#162) 2023-02-17 09:45:31 +08:00
87e15c5c8a Update TestRecord 2023-02-17 01:45:18 +00:00
3e43a4eae0 fix 101-cosmos-db-free-tier example (#160) 2023-02-17 09:44:57 +08:00
f3b13826b1 Removed artifact 2023-02-16 13:32:15 -08:00
40bbcd79d4 New sample (converted from Bicep via OpenAI) 2023-02-16 13:29:36 -08:00
def91ae46b Edits per Code Review 2023-02-16 11:15:46 -08:00
8d76264d99 Edits per Code Review 2023-02-16 11:04:32 -08:00
d8e9d4b7ae Edits per Code Review 2023-02-16 10:55:02 -08:00
66edc2e080 New sample 2023-02-16 06:00:37 -08:00
d8c965a294 Update TestRecord 2023-02-16 06:35:47 +00:00
99e0a341a1 fix 101-cosmos-db-autoscale example (#157) 2023-02-16 14:35:27 +08:00
4d37eb18bf Update TestRecord 2023-02-16 05:35:34 +00:00
07573fcb7a 201-vmss-disk-encryption-extension patch (#153)
* fix 201-vmss-disk-encryption-extension example
2023-02-16 13:35:14 +08:00
e3525093f0 Example of OpenAI generated article 2023-02-15 16:02:33 -08:00
d57838d056 Updated README.MD 2023-02-15 13:15:52 -08:00
bef739cc06 Added log file 2023-02-15 12:27:05 -08:00
deeba27652 New sample (converted from Bicep via OpenAI) 2023-02-15 10:27:14 -08:00
c2a3a784d8 Update TestRecord 2023-02-14 06:01:48 +00:00
5557a85e0b fix 101-cosmos-db-aad-rbac example (#144) 2023-02-14 14:01:24 +08:00
911b419f25 Update TestRecord 2023-02-14 05:38:00 +00:00
77c841daa2 201-confidential-vmss patch (#142)
* fix 201-confidential-vmss example
2023-02-14 13:37:44 +08:00
44e546e979 Update TestRecord 2023-02-14 02:01:11 +00:00
e8f97f4e5d rename gw resource to main (#151)
Co-authored-by: zjhe <hezijie@microsoft.com>
2023-02-14 10:00:49 +08:00
f51789dfe5 Update TestRecord 2023-02-13 09:47:53 +00:00
JT
cab55217b4 201-aks-log-analytics patch (#150)
* 201-aks-log-analytics patch
2023-02-13 17:47:34 +08:00
107616137c Update TestRecord 2023-02-13 09:28:27 +00:00
f4a4eed225 fix 101-application-gateway (#149)
Co-authored-by: zjhe <hezijie@microsoft.com>
2023-02-13 17:28:10 +08:00
bbe290c906 Update TestRecord 2023-02-12 01:04:14 +00:00
c7fcee840c Update TestRecord 2023-02-11 03:34:39 +00:00
5ca09eaaf6 201-confidential-vm patch (#146)
* fix 201-confidential-vm example

---------

Co-authored-by: zjhe <hezijie@microsoft.com>
2023-02-11 11:34:22 +08:00
da7427ee53 Update TestRecord 2023-02-11 03:34:02 +00:00
031b021fae change analytical_storage_ttl default value to -1 (#147) 2023-02-11 11:33:44 +08:00
3f692e024a Update TestRecord 2023-02-10 07:17:44 +00:00
62fe33ce64 101-attestation-provider patch (#145)
* try to fix 101-attestation-provider

---------

Co-authored-by: zjhe <hezijie@microsoft.com>
2023-02-10 15:17:25 +08:00
cdd05cd894 update test framework to use msi id when possible, update gitignore file 2023-02-10 15:03:31 +08:00
82a1bc5993 Update TestRecord 2023-02-10 03:06:51 +00:00
a522c44462 101-cosmos-db-analyticalstore patch (#143)
* change azurerm version

* add default values
2023-02-10 11:06:33 +08:00
9a4284c545 Update TestRecord 2023-02-10 02:14:53 +00:00
6baa9203b7 201-confidential-os-disk patch (#141)
* add default value for variables; add random string for rgn
2023-02-10 10:14:32 +08:00
dd30e9384e Uploaded updated sample for HashiCorp article (#135) 2023-02-08 10:37:41 +08:00
aa014f1118 Update TestRecord 2023-02-05 00:50:39 +00:00
62c65dcf48 add ci (#140) 2023-02-04 20:12:13 +08:00
6ec09b5972 Merge pull request #134 from ericd-mst-github/erd-windows-terraform
created new 101 folder and added tf files and readme.md
2023-01-26 11:13:35 -08:00
141c927011 corrected markdown table format 2023-01-12 19:21:11 -05:00
adbdb46a71 added default column and values to readme.md 2023-01-10 16:39:20 -05:00
9c625d05b4 removed depends_on line 2023-01-10 14:06:48 -05:00
1eb6e680f9 created new 101 folder and added tf files and readme.md 2022-12-15 10:42:43 -05:00
a830531ca9 Merge pull request #129 from johndowns/quickstart-101-front-door-premium-storage-blobs-private-link
Add quickstart for Front Door Premium with blob origin and Private Link
2022-12-13 09:28:59 -08:00
06955e5e54 Update readme 2022-11-25 20:52:33 +13:00
0bc2f2b309 Updates 2022-11-25 20:45:11 +13:00
b7d0d3fd2c Add quickstart 2022-11-25 19:28:32 +13:00
276af30347 Merge pull request #122 from johndowns/quickstart-101-front-door-standard-premium
Add quickstart for Front Door Standard/Premium
2022-11-21 13:43:11 -08:00
fb65ceaa11 Merge pull request #121 from johndowns/quickstart-101-front-door-classic
Add quickstart for Front Door (classic)
2022-11-21 13:42:38 -08:00
bf90566b86 Merge pull request #124 from murggu/murggu/synapse-101
Add Synapse 101 and 201 quickstarts
2022-11-21 13:00:44 -08:00
f40d33642c Fix PR comments 2022-11-21 11:35:48 +01:00
664d1069b8 remova .gitignores 2022-11-18 22:17:36 +01:00
d5a7e742a2 fix tfvars example 2022-11-18 22:14:08 +01:00
eb6b615ae3 fix comments 2022-11-18 22:12:00 +01:00
497661a7aa Update readme 2022-11-18 12:48:30 +13:00
5e0b259c1e Updates from PR review 2022-11-18 12:46:31 +13:00
eaa4dedbd4 Updates from PR review 2022-11-18 12:41:32 +13:00
8d63bf55f2 Merge pull request #34 from charotAmine/fix-appservice-linux
fix stack settings
2022-11-17 14:55:18 -08:00
3ecb5bf13c Merge pull request #48 from jlpedrosa/contrib_gopath_update
Update clone path in contribution readme
2022-11-17 14:54:01 -08:00
e2cb1d3cd2 Merge pull request #49 from jlpedrosa/contrib_provider_location
Add other options to locate terraform provider binary
2022-11-17 14:53:24 -08:00
9ee8a53341 Merge pull request #50 from jlpedrosa/contrib_docs_env_options
Add the configuration to use the integrated UI in vscode
2022-11-17 14:52:39 -08:00
431c9e062e Merge pull request #52 from c4m4/master
Replacing Reader with AcrPull in azurerm_role_assignment.aks_acr
2022-11-17 14:49:46 -08:00
878ca149f9 Merge pull request #128 from jloeffler7/explicitly-disable-storage-public-blob-access
Explicitly disable storage blob public access for workspace templates
2022-11-17 14:45:51 -08:00
665947ee0e Fix formatting 2022-11-17 17:43:12 -05:00
a9d3c7dc30 Merge pull request #125 from harrycruz/patch-1
Update main.tf
2022-11-17 13:28:43 -08:00
fb2d3928a9 Explicitly disable storage blob public access for workspace templates 2022-11-17 11:03:43 -05:00
96afa1f2cd Add example for azure function app using key vault reference (#114)
add examples for function app using key vault reference
2022-11-16 14:54:13 +08:00
e32966e242 Adding guidance for function app (#116)
* adding guidance for function app
2022-11-16 13:56:21 +08:00
150b11b528 Update main.tf
Proposing update of repository as per suggestion of https://github.com/Azure/terraform/issues/101. Otherwise, the code as is cannot be initialized. Thank you!
2022-11-09 22:29:14 +01:00
a0ddf338d3 update readme.md 2022-11-08 13:57:31 +01:00
d65c97c307 Add synapse 201 2022-11-08 13:47:23 +01:00
ebf66eab0b add tags 2022-11-08 12:58:29 +01:00
a165449f64 Update README.md 2022-11-08 12:52:09 +01:00
063a26bb31 Add synapse 101 2022-11-08 12:47:54 +01:00
329bfd1f6e Merge pull request #111 from urosran/sql-managed-instance
- SQL Managed Instance Minimal Example
2022-11-04 14:53:42 -07:00
25a6da8b00 Merge remote-tracking branch 'origin/master' into sql-managed-instance 2022-11-04 11:44:12 +01:00
66f805be99 Merge remote-tracking branch 'origin/master' into sql-managed-instance 2022-11-04 11:42:42 +01:00
e70d967524 remove depends on clauses 2022-11-04 09:59:03 +01:00
f0587e9875 Merge pull request #123 from jensheerin/patch-1
Update moduleUrl
2022-10-31 10:44:16 -07:00
15221652a1 Update moduleUrl
Update URL with latest configuration zip file
2022-10-30 22:30:06 -04:00
c370e76a95 Merge pull request #119 from kgremban/master
new quickstart sample 201-device-provisioning-service
2022-10-27 13:50:34 +08:00
20eba75a88 Update readme 2022-10-25 10:23:04 +13:00
3226d364a8 Add quickstart 2022-10-25 10:20:57 +13:00
c008240f61 Add quickstart for Front Door (classic) 2022-10-25 10:13:53 +13:00
24645b6398 Review fixes and updated readme 2022-10-14 11:15:49 -07:00
db43ecd3a5 lonegunmanb feedback 2022-10-12 11:43:29 -07:00
8a9f0ff064 rename folder 2022-10-03 09:38:38 -07:00
f4775c5bf6 new quickstart sample 101-device-provisioning-service 2022-09-29 14:52:07 -07:00
3b5aa1adc5 - format 2022-09-06 12:52:48 +02:00
079f82b656 - pr comments 2022-09-06 12:52:01 +02:00
467e0a67f7 Merge pull request #112 from TomArcherMsft/UserStory1983528
User Story 1983528
2022-09-01 10:33:30 +08:00
4c228bd73e Fixed table format 2022-08-31 09:35:54 -07:00
4321812b10 Fixed table format 2022-08-31 09:34:42 -07:00
bfd9232a64 Fixed table format 2022-08-31 09:32:59 -07:00
373e9b1e09 Forcing PR creation 2022-08-31 09:27:45 -07:00
cfe7e1086d - pr comments 2022-08-31 15:17:30 +02:00
8e632a3be6 - remove all outputs for now 2022-08-31 13:49:09 +02:00
6bd1ba4c6e - first commit 2022-08-31 13:47:23 +02:00
5b72658397 Merge pull request #110 from TomArcherMsft/UserStory1983164
User Story 1983164
2022-08-31 11:33:26 +08:00
2633db1ff1 Updated azurerm provider version constraint 2022-08-30 20:26:35 -07:00
ebaa5f71de Updated azurerm provider version constraint 2022-08-30 20:16:54 -07:00
ec38ba616c Updated names per Azure requirements 2022-08-30 13:53:03 -07:00
49b61b78a2 Updated azurerm_cosmosdb_account attribute name 2022-08-30 13:27:51 -07:00
22350913fd Moving cosmosdb quickstart code to samples repo 2022-08-30 10:54:01 -07:00
cb17e827ba Merge pull request #105 from Azure/users/GitHubPolicyService/46ac6b72-fb6d-4399-a02a-714c519189f1
Adding Microsoft SECURITY.MD
2022-08-30 11:37:32 +08:00
5481663a4b Merge pull request #109 from TomArcherMsft/UserStory1982922
User Story 1982922
2022-08-30 09:23:18 +08:00
03f800dbe4 Relaxing version constraint on tls provider 2022-08-29 18:19:05 -07:00
71e54587eb Changed resource names to snake case 2022-08-29 18:16:52 -07:00
85f9e9a803 Added tls provider block 2022-08-29 17:45:43 -07:00
7cf420ddb5 Updated readme for several samples 2022-08-29 16:41:46 -07:00
0a1a441dc9 Updated readme with terraform types being utilized 2022-08-29 16:24:11 -07:00
62b49e2a91 Added code 2022-08-29 15:43:40 -07:00
9072d1d114 Moving create-linux-vm-with-infrastructure article code to engineering team sample repo 2022-08-29 15:30:41 -07:00
0016d17db4 Merge pull request #108 from TomArcherMsft/UserStory1981979
User Story 1981979
2022-08-30 03:06:39 +08:00
363738bfca Merge pull request #1 from lonegunmanb/UserStory1981979_zj
Re-org code structure and fix a potential bug caused by `random_password.password`.
2022-08-29 07:45:39 -07:00
e3c66ca15d Sort all variables, outputs, arguments and blocks in resource block.
Adjust code file's style.
Add `numeric = false` for `random_string.name` in `201-mysql-fs-db` module as the name is used as `azurerm_mysql_flexible_server.default`'s `administrator_login` and the login name doesn't support a name start with number.
Add minimum constraints for `random_password.password` in `201-mysql-fs-db` module as the password required a minimum complexity.
2022-08-29 17:03:29 +08:00
65cb9c7f0e more changes 2022-08-29 00:05:42 -07:00
dceafac08d more changes 2022-08-28 23:51:22 -07:00
7305ee2a26 changing array syntax 2022-08-28 23:45:08 -07:00
bd27b46fdc fixing random provider info 2022-08-28 23:39:27 -07:00
b6f52f38d3 changes per tech review 2022-08-28 23:30:10 -07:00
e866f8430d readme files 2022-08-28 09:12:59 -07:00
0bb3ff10c1 readme files 2022-08-28 08:17:56 -07:00
df14b6229d Marked various output values as sensitive 2022-08-27 22:19:04 -07:00
7b46e0c27a Removed deprecated block and fixed sku value 2022-08-27 22:08:55 -07:00
0419cad12a Updating main to use new rg var name 2022-08-27 21:25:20 -07:00
9a26ecdd6c Updating main to use new rg var name 2022-08-27 21:22:02 -07:00
1f4ae04892 Fixing article 2022-08-27 18:54:06 -07:00
4832632b2c Merge pull request #107 from TomArcherMsft/UserStory1977015
User Story 1977015
2022-08-24 22:27:43 +08:00
1eb58101ba Per review, changed var name from camel case to snake case 2022-08-24 07:01:30 -07:00
1043acb836 Per review, removed blank line 2022-08-24 06:55:46 -07:00
4a706b9f6d Ran 'terraform fmt' against code being modified in this PR' 2022-08-24 06:50:04 -07:00
32a23622d0 Updated file naming per review 2022-08-24 06:43:54 -07:00
de3b6a2a42 Updated variables to snake case per review 2022-08-24 06:35:20 -07:00
26a919e903 Updating code to align with Contributor Guide template 2022-08-23 19:02:18 -07:00
f303bd2b2f Microsoft mandatory file 2022-07-28 16:55:58 +00:00
Gin
40c33d528f Cosmosdb l100 examples (#100) 2022-07-01 17:14:52 +08:00
e0f9c4b8cc Merge pull request #103 from myc2h6o/vm_ade
Add examples for Azure Disk Encryption Extension for VM and VMSS
2022-06-29 15:58:49 -07:00
aac920d615 Merge pull request #102 from myc2h6o/confidential_vm
Add examples for confidential VM, VMSS and OS Disk
2022-06-29 15:56:03 -07:00
191572bc6b resolve comments 2022-06-28 17:23:27 +08:00
e11e21b525 resolve comments 2022-06-28 16:18:31 +08:00
45c260955b Merge pull request #104 from neil-yechenwei/mysqlfsdbfix
Update example link for Mysql FS
2022-06-27 16:24:21 -07:00
7a63c76cec Update example link for Mysql FS 2022-06-23 16:42:04 +08:00
aae3e0fbec Add examples for Azure Disk Encryption Extension 2022-06-22 22:11:55 +08:00
bd01573941 Add examples for confidential VM, VMSS and OS Disk 2022-06-22 18:08:20 +08:00
742b875490 Merge pull request #80 from neil-yechenwei/examplemysqlfsdb
Add example for MySQL Flexible Server Database
2022-04-21 14:21:43 -07:00
5cf7ca9d66 update code 2022-04-14 09:51:49 +08:00
18b79a7eda Merge pull request #78 from mcraiha/typofix
Fix resource TYPOs in variables
2022-04-13 16:35:11 -07:00
ffa78e6b67 Merge pull request #89 from mingweihe/master
fix versions & mlsources to make publicNetworkAccess=Disabled work in…
2022-04-13 15:58:57 -07:00
2978cf215b Merge pull request #97 from Azure/issue_templates
few more minor tweaks to templates
2022-04-13 13:49:35 -07:00
b9b4d29725 few more minor tweaks to templates 2022-04-13 13:49:04 -07:00
8e22a0f19d Merge pull request #96 from Azure/issue_templates
fixed few description issue
2022-04-13 13:43:09 -07:00
a8f6580471 fixed few description issue 2022-04-13 13:42:14 -07:00
88309de25b Merge pull request #95 from Azure/issue_templates
tweaking order of issue templates
2022-04-13 13:39:10 -07:00
b0bd81d8d2 tweaking order of issue templates 2022-04-13 13:38:12 -07:00
dbd45b1065 Merge pull request #94 from Azure/issue_templates
added bug templates for azapi, aztfy, examples and feature template
2022-04-13 13:34:22 -07:00
5d0bc04169 added bug templates for azapi, aztfy, examples and feature template 2022-04-13 13:32:31 -07:00
1d9cfd0aec Merge pull request #93 from Azure/issue_templates
few tweaks to module bug issue
2022-04-12 15:13:27 -07:00
248ca2b267 few tweaks to module bug issue 2022-04-12 15:10:58 -07:00
56b0d864b2 Merge pull request #92 from Azure/issue_templates
Beginning of Issue Forms
2022-04-12 15:00:41 -07:00
d142476be6 Beginning of Issue Forms 2022-04-12 14:59:24 -07:00
2d9a6c5bb6 Merge pull request #91 from Azure/azapi-examples
Removed work around for registering Microsoft.LabServices provider
2022-04-11 18:09:14 -07:00
dc8d94b026 Removed work around for registering Microsoft.LabServices provider 2022-04-11 18:07:24 -07:00
9784b3a2d5 Merge pull request #90 from Azure/azapi-examples
Examples for documentation
2022-04-11 15:18:54 -07:00
3fcccfc376 Examples for documentation for AzAPI provider including resource and update_resource 2022-04-11 15:09:07 -07:00
c644dcdafa Merge pull request #88 from jensheerin/AVD
refactor code
2022-04-11 11:13:46 -07:00
6643221681 fix versions & mlsources to make publicNetworkAccess=Disabled work in the related terraform template 2022-04-04 16:15:08 -07:00
a2399f96b5 fmt 2022-03-28 22:05:53 -04:00
b562c8a2fc format 2022-03-28 21:52:14 -04:00
d0af975d18 refactor code 2022-03-25 14:54:22 -04:00
311ed006e3 update code 2022-03-23 10:28:16 +08:00
64aa77f9f8 Merge pull request #86 from TomArcherMsft/UserStory1929747-code
User Story 1929747
2022-03-15 16:30:18 -07:00
78da765a23 Fixed 'autopilot' mistake of naming file with an MD extension 2022-03-14 16:33:27 -07:00
23a2e2cb73 Added providers.tf file 2022-03-14 15:56:55 -07:00
7c4e2dd434 Merge pull request #79 from vhorne/ag-qs
create app gateway quickstart
2022-03-11 10:32:14 -08:00
9adb4bf7d7 rename file 2022-03-11 06:05:22 -08:00
4950e13207 Merge pull request #83 from TomArcherMsft/UserStory1871520-fix-readme
User Story 1871520 - Fix readme
2022-03-10 10:31:04 -08:00
1ba0df3660 create providers.tf 2022-03-08 08:26:25 -08:00
ac98d2cfbe fixed readme 2022-03-07 11:47:36 -08:00
f4492d47ea Merge pull request #81 from TomArcherMsft/UserStory1871520-2
User Story 1871520 (Code)
2022-03-07 11:15:41 -08:00
744613923a Formatted code via 'terraform fmt' 2022-03-05 14:16:56 -08:00
e4a7a6e1f3 randomized resource group name for resources 2022-03-05 11:52:02 -08:00
742e4c7a5d changed reserved ip addresses 2022-03-05 09:05:17 -08:00
baa2ce42c7 added output of app ip 2022-03-05 08:03:57 -08:00
09f7f93885 creates app i can run 2022-03-04 20:32:36 -08:00
1c548de790 Working on randomizing RG 2022-03-04 15:03:42 -08:00
e7300d5f62 Added quotes around placeholders 2022-03-04 14:39:52 -08:00
613ac38924 Removed use of reserved subnet ip addresses 2022-03-04 10:55:28 -08:00
62f0de1b76 Added readme file 2022-03-04 10:18:32 -08:00
679c91f666 Updated code to remove unused var 2022-03-03 14:56:39 -08:00
8b536b44ef Updated deprecated code 2022-03-02 20:30:18 -08:00
3c2d766490 Modifying providers.tf as provider blocks can't contain vars 2022-03-02 20:04:55 -08:00
3770c0b277 Changes 2022-03-02 19:41:10 -08:00
af4a2cbdd5 Randomizing resource group and leaving in tfvars only the min the cust needs to mod 2022-03-02 18:59:01 -08:00
c25d0c2f2f Changing to adhere to standards 2022-03-02 16:47:07 -08:00
198b9bdd2f update code 2022-03-02 14:50:38 +08:00
c70498ea85 Add example for MySQL Flexible Server Database 2022-03-02 14:26:28 +08:00
7b381c92db create app gateway quickstart 2022-02-24 14:14:36 -08:00
9b007da5d9 Fix resources typo in 201-web-app-docker-acr
resoruce -> resource
2022-02-22 19:23:13 +02:00
2402916336 Fix resources typo in 101-web-app-linux-container
resoruce -> resource
2022-02-22 19:22:15 +02:00
ae358385cc Fix resources typo in 101-web-app-windows-dotnet
resoruce -> resource
2022-02-22 19:21:05 +02:00
970894aa73 Fix resources typo in 101-web-app-linux-java
resoruce -> resource
2022-02-22 19:19:20 +02:00
112c5b5192 Merge pull request #77 from neil-yechenwei/examplepostgresqlfsdb
Add example for PostgreSQL Flexible Server Database
2022-02-16 23:51:35 -08:00
ece38850c7 update code 2022-02-17 13:40:25 +08:00
85d82f8c72 update code 2022-02-17 13:36:44 +08:00
226c83b637 update code 2022-02-17 13:24:33 +08:00
7384552428 update code 2022-02-17 12:17:28 +08:00
7cb6c914d4 update code 2022-02-17 12:16:39 +08:00
30ed335f30 update code 2022-02-17 12:14:23 +08:00
be9fb6ff53 Merge pull request #76 from jensheerin/AVD
Add 101-azure-virtual-desktop
2022-02-15 11:08:36 -08:00
a69ec0bec0 fix broken link 2022-02-07 09:36:11 -05:00
ad42d646d8 Add example for PostgreSQL Flexible Server Database 2022-02-07 13:23:28 +08:00
5fca0727aa Merge branch 'AVD' of https://github.com/jensheerin/terraform into AVD 2022-02-06 23:57:50 -05:00
f8c986b4dc update readme 2022-02-06 23:57:47 -05:00
f11c1958b6 Delete .vscode directory 2022-02-06 23:55:15 -05:00
b49da51665 new folder for anf option, edits to variables 2022-02-06 23:51:32 -05:00
95c7436033 update link 2022-01-03 19:54:16 -05:00
dbcd0a7415 update readme 2022-01-03 19:51:51 -05:00
4dab10866f initial file creation 2022-01-03 19:38:18 -05:00
48a25a1440 Merge pull request #75 from ryhud/master
Adding AML 301 and updates to 201 and 202
2021-11-13 09:30:51 -08:00
f42bebeab3 Delete .gitignore 2021-11-13 11:43:26 -05:00
78c96d168b Merge pull request #6 from ryhud/ryhud-301
terraform fmt
2021-11-12 16:35:02 -05:00
057a0330ca terraform fmt 2021-11-12 16:33:12 -05:00
7aa93d44bc Merge pull request #5 from ryhud/ryhud-301
Ryhud 301
2021-11-12 16:23:58 -05:00
91b12bb8b9 updating tf version 1.0 2021-11-12 16:20:50 -05:00
a4f39d340c tf version 1.0 2021-11-12 15:38:18 -05:00
b16eefa5ca terraform fmt 2021-11-12 15:37:16 -05:00
3de3a1242f Update .gitignore 2021-10-29 09:14:21 -04:00
70ef1e48e5 Merge pull request #4 from ryhud/ryhud-301
adding Log Analytics to the resources section
2021-10-29 09:07:04 -04:00
442a99009d adding Log Analytics to the resources section 2021-10-29 09:05:20 -04:00
53417992c7 Merge pull request #3 from ryhud/ryhud-301
Ryhud 301
2021-10-28 12:21:56 -04:00
fa746473ff updating readme 2021-10-28 12:19:00 -04:00
f851ebafdc Updating readme 2021-10-28 12:17:22 -04:00
1d2ae575e2 Merge pull request #2 from ryhud/ryhud-301
Ryhud 301
2021-10-28 11:56:17 -04:00
71b05cfc0e updating readme 2021-10-28 11:52:12 -04:00
3adc707d42 removing comments 2021-10-28 11:51:42 -04:00
0943dd0568 adding resource dependancy to fix destroy issue 2021-10-28 11:35:41 -04:00
e6cbe158b7 adding sensitive to DSVM password variable 2021-10-28 11:05:39 -04:00
8e503110f9 Updating AML 201 readme 2021-10-26 10:11:56 -04:00
a1d13658a3 random string for fw diagnostics + missing FW rule 2021-10-25 19:10:15 -04:00
5808615b75 Merge pull request #1 from ryhud/ryhud-301
Ryhud 301
2021-10-25 11:05:07 -04:00
2b9b074b9c adding Azure Bastion and DSVM 2021-10-25 10:45:29 -04:00
54355dcdc3 added dependency for Azure Firewall 2021-10-14 17:41:42 -04:00
7cfe24f0ff add missing fw rules for ml 2021-10-07 15:55:47 -04:00
e3d2f4db37 Add FW rules, spoke DNS and UDRs to FW 2021-10-07 13:26:44 -04:00
32a9580ffb adding AML 301 2021-10-06 14:10:15 -04:00
fa0ee0bb58 Merge pull request #69 from TomArcherMsft/UserStory1866077-Code
User Story 1866077 Code
2021-10-01 11:01:37 -07:00
01c7abe31b Changes per tech review 2021-09-30 08:02:50 -07:00
22cf568a9b Merge pull request #71 from TomArcherMsft/UserStory1871520
User Story 1871520
2021-09-29 16:36:31 -07:00
5219ad380e Merge pull request #73 from denniseik/master
Including Azure ML compute with existing examples. Adding network-isolated examples.
2021-09-29 16:34:31 -07:00
2f2199f204 include var 2021-09-29 14:01:30 -07:00
7f015dd153 update readme 2021-09-29 13:52:43 -07:00
b63853c77b use data construct to reference existing resources 2021-09-29 13:26:50 -07:00
56b2b6deed Merge pull request #10 from denniseik/ryhud
Ryhud
2021-09-29 13:22:30 -07:00
8559028099 updating TF variables 2021-09-29 14:10:20 -04:00
ac8b38f3dd updating readme variables 2021-09-29 14:07:54 -04:00
5c674c6100 Include variable defaults in read me 2021-09-29 09:13:01 -07:00
9fcd0f3fb2 apply terraform fmt 2021-09-29 08:48:01 -07:00
a8ba805c8b Implemented changes per review 2021-09-29 06:47:25 -07:00
a609b64fd1 update image_build_compute ref 2021-09-28 12:31:17 -07:00
646c7f32a8 Merge pull request #9 from denniseik/ml-updates
Ml updates
2021-09-24 12:16:57 -07:00
71e22e1e3b Include public network access arg 2021-09-24 12:16:23 -07:00
8d25835eab Include public mode arg for completeness 2021-09-24 12:15:24 -07:00
0b18cf4739 updating aks subnetvar default to larger cidr 2021-09-24 14:33:46 -04:00
44955e3422 adding TF native image_build_compute setting 2021-09-24 14:30:07 -04:00
e814b48966 adding resource dependency to compute instance 2021-09-24 14:25:06 -04:00
9a52e9aa55 updating minimum TF version 2021-09-24 14:21:54 -04:00
cb79cbc272 remove ACLs keyvault 2021-09-24 09:53:07 -07:00
fff24e257b remove gitignore before tf repo merge 2021-09-21 17:12:56 -07:00
a2957c998d Merge branch 'master' of https://github.com/denniseik/terraform 2021-09-21 17:11:52 -07:00
37d13dbb19 update gitignores 2021-09-21 17:10:13 -07:00
b5f97979db Merge pull request #8 from denniseik/feature/201-fitandfinish
Add compute, private link dependencies and updated readme's for publication
2021-09-21 17:07:24 -07:00
bcd263ed5f updates to network and compute 2021-09-21 17:02:40 -07:00
7c4abc8e7e update gitignore 2021-09-20 15:57:46 -07:00
9d04bc247e ci naming 2021-09-20 15:55:51 -07:00
fdbb100df1 add comment 2021-09-20 15:51:03 -07:00
2713f07c82 include compute resources and network dependencies 2021-09-20 15:41:46 -07:00
ae58331e4e fit and finish 101 2021-09-20 10:41:09 -07:00
5c6087899a formatting updates 2021-09-20 10:18:18 -07:00
44679c877a separated compute 2021-09-20 11:22:12 -04:00
7a356afd12 Merge pull request #7 from denniseik/ryhud
Adding 202 for existing VNet
2021-09-17 15:51:30 -07:00
be2da81a47 Merge branch 'ryhud' of https://github.com/denniseik/terraform into ryhud 2021-09-17 18:40:58 -04:00
b52527ceb6 clearing comments 2021-09-17 18:40:44 -04:00
1631260cd2 Add readme links and variable descriptions 2021-09-17 15:31:06 -07:00
00396b82eb Update compute timeout 2021-09-17 15:25:11 -07:00
4f13164bde Tidy up 2021-09-17 15:24:49 -07:00
8011d6b516 Link terraform docs 2021-09-17 15:12:35 -07:00
9358a1cae3 link terraform docs 2021-09-17 15:12:11 -07:00
ce37d06206 Adding 202 for existing VNet 2021-09-17 18:05:06 -04:00
c272d2d0ea Include learn more links 2021-09-17 14:47:23 -07:00
a78a330a33 Include learn more links 2021-09-17 14:46:38 -07:00
c2ded7bfd4 Reflect latest variable state 2021-09-17 14:43:57 -07:00
bb5e5893e7 Include nsg resource with docs 2021-09-17 14:42:02 -07:00
7973eb855d Tidy up 2021-09-17 14:40:06 -07:00
a6a26c372f Tidy up 2021-09-17 14:39:33 -07:00
3733966dfd Updated compute properties 2021-09-17 14:38:06 -07:00
cc25a40362 Include description on compute resources 2021-09-17 14:36:07 -07:00
790fbc87d3 Update compute resources description 2021-09-17 14:35:06 -07:00
5173414efe Include reference to compute 2021-09-17 14:33:51 -07:00
a9b0bd794d Merge pull request #6 from denniseik/ryhud
updating firewall on ACR
2021-09-17 14:25:27 -07:00
6a6b30681f updating firewall on ACR 2021-09-17 16:44:12 -04:00
725e6e13f2 Merge pull request #5 from denniseik/ryhud
updating notebooks Private DNS Zone
2021-09-17 12:14:51 -07:00
40a0e273fa updating notebooks Private DNS Zone 2021-09-17 09:40:41 -04:00
a420a370b0 Updated time 2021-09-16 16:13:26 -07:00
a314cc5351 Fix typo 2021-09-16 16:11:33 -07:00
a6baf22a68 Merge pull request #3 from denniseik/ryhud
updating 201 AML
2021-09-16 16:09:32 -07:00
7cdb4d59e4 Merge pull request #4 from denniseik/feature/azureml-workspace-compute
Feature/azureml workspace compute
2021-09-16 16:08:10 -07:00
4412fb6f00 Merge branch 'Azure:master' into feature/azureml-workspace-compute 2021-09-16 11:51:55 -04:00
0c5c67244a Added Compute Instance and Compute Cluster Resources 2021-09-16 11:49:49 -04:00
ca36cf3e5d updating naming convention 2021-09-16 11:24:11 -04:00
40caddf47c updating 201 AML 2021-09-14 17:37:10 -04:00
38e62ab0ce Merge pull request #2 from denniseik/feature/naming
Templates naming
2021-09-14 13:17:07 -07:00
505f4238b5 naming 2021-09-14 13:15:16 -07:00
2fa2a3f754 Merge pull request #1 from denniseik/feature/azureml-workspace
removed network rules to allow for dataset creation
2021-09-14 13:09:14 -07:00
76decf7a31 network connectivity purpose 2021-09-14 13:05:47 -07:00
d42dcb167c clarify network connectivitiy model 2021-09-14 11:56:23 -07:00
22055a70a0 removed network rules to allow for dataset creation 2021-09-14 13:09:53 -04:00
e3985c1024 Removed code fencing from code file 2021-08-29 20:17:20 -07:00
4223ffbb40 Merge pull request #70 from vhorne/fw-name-fix
fix net test collection name
2021-08-19 11:27:44 -07:00
20a846a0b4 Merge pull request #68 from denniseik/feature/azureml-workspace
Looks great!
2021-08-18 13:47:19 -07:00
d814115559 update resource abbrevations to azure standarsd 2021-08-18 11:58:01 -07:00
96075ca1ef Merge branch 'feature/azureml-workspace' of https://github.com/denniseik/terraform into feature/azureml-workspace 2021-08-18 10:36:13 -07:00
79449910c3 Clarify examples and read me 2021-08-18 10:36:04 -07:00
d0bba2ea8d Removing git ignore from PR
Git ignore should not be include in the PR.
2021-08-18 10:28:14 -07:00
f6733657bf fix net test collection name 2021-08-18 09:00:25 -07:00
3cb80cebe4 update docs 2021-08-18 08:23:27 -07:00
14b6c7c279 include vnet links 2021-08-16 09:53:59 -07:00
2c79eb6a23 Added randomness of rg name, links to ref docs 2021-08-07 22:17:06 -07:00
abc1bd8bbe Merge pull request #66 from TomArcherMsft/tarcher-move-sample-code-to-github
Move documentation sample code to GitHub
2021-08-06 16:41:52 -07:00
bd3972caab Added min tf version 2021-08-06 16:29:03 -07:00
92dacc76d9 Merge pull request #67 from vhorne/fw-upgrade
add firewall
2021-08-06 10:06:35 -07:00
8a9d0949f8 required verson update 2021-08-06 09:38:14 -07:00
8ec6339e99 update 2021-08-06 06:44:45 -07:00
5e52a3836b Added two Azure ML quickstart templates 2021-08-05 14:52:54 -07:00
eeb9d1e303 add required_providers 2021-08-05 12:05:11 -07:00
1ddd8fb226 add firewall 2021-08-05 10:06:02 -07:00
da2472a399 201-k8s-cluster-with-aks-applicationgateway-ingress 2021-08-01 19:42:50 -07:00
c06f51bda0 Tweaking attestation code 2021-08-01 18:53:36 -07:00
e120e52351 Code changes to multiple projects 2021-07-31 17:36:47 -07:00
d18741890d 301-hub-spoke - Added spoke1.tf, spoke2.tf 2021-07-31 16:31:16 -07:00
8e5492e98f 301-hub-spoke - Added hub-nva.tf 2021-07-31 16:21:12 -07:00
20d7d8dd94 301-hub-spoke - Added hub-vnet.tf 2021-07-31 16:10:17 -07:00
54e5c9f9b7 301-hub-spoke - Added on-prem.tf 2021-07-31 15:59:23 -07:00
f0e2d41e89 301-hub-spoke - Created and added main.tf and variables.tf files 2021-07-31 12:49:54 -07:00
9f3049620f Fixed formatting 2021-07-30 18:47:43 -07:00
f13f873692 Fixed DNA naming for VMSS and Jumpbox VM 2021-07-30 18:46:16 -07:00
8e9fd86c2a Updated code for two VMSS articles - 2 2021-07-30 17:27:29 -07:00
a7b8413823 Updated code for two VMSS articles 2021-07-30 16:51:30 -07:00
1bb60e6a06 Added code for create-vm-scaleset-network-disks-using-packer-hcl 2021-07-28 16:42:54 -07:00
8d4c15722d Changes to output 2021-07-28 14:48:27 -07:00
5ebe66c2fc Fixed links 2021-07-28 13:51:29 -07:00
8a6ba16abd Added ip address to output to aid in customer verifying results of example 2021-07-28 13:47:16 -07:00
b1b458ab50 Reformatted create-vm-scaleset-network-disks-hcl 2021-07-28 12:12:40 -07:00
b4528513d2 Added code for create-vm-scaleset-network-disks-hcl 2021-07-28 09:56:18 -07:00
ef2d32ca99 Changed folder to match convention, added sample to top-level readme 2021-07-27 20:14:29 -07:00
d699082efb 101-create-resource-group 2021-07-27 18:25:12 -07:00
cefacf9966 Adding quickstart template example 2021-04-19 18:44:18 -07:00
e932a95d27 Merge pull request #60 from metahertz/fix-issue-57
Always use the latest version of Checkov
2021-04-06 17:39:41 -07:00
f21032933d Merge pull request #59 from powershellpr0mpt/patch-1
Update README.md
2021-04-06 17:32:14 -07:00
96f19bed11 Merge pull request #62 from mgrotheer/patch-1
Update README.md
2021-04-06 17:31:14 -07:00
023dcf5201 Update README.md
Fixed typo
2020-12-24 08:20:08 -08:00
c5d39a4631 Always use the latest version of Checkov
For inclusion of new builtin checks.
2020-10-29 18:23:56 +00:00
25ab251ac1 Update README.md
Fixed broken link to github.com/Azure/terraform repo
2020-10-21 20:23:51 +02:00
d05f030d03 Fix integration testing sample path (#58)
* fix path in pipeline for integration-testing sample
* add exec permission on checkov.sh
2020-10-09 10:22:21 +02:00
00d15e09c5 Merge pull request #53 from feiskyer/aks-quickstart
Add quickstart sample for AKS private cluster with custom DNS
2020-09-09 12:01:41 -07:00
e4e2b20dd5 Update testing samples README files (#56)
add links to the Msft Docs to the sample READMEs
2020-08-27 08:29:45 +02:00
713cbfc0a7 Add quickstart sample for private AKS cluster with custom DNS 2020-08-24 13:57:52 +08:00
WS
cc6b61aa3a Merge pull request #51 from yupwei68/wyp-20200622
Update the Terraform Azurerm Provider Resource Contribute.md
2020-07-26 20:45:54 -07:00
efb8caa590 Replacing Reader with AcrPull in azurerm_role_assignment.aks_acr 2020-07-18 13:19:53 +02:00
ef757830e6 r1 2020-06-28 10:10:30 +08:00
359f0633f8 update 2020-06-23 10:29:58 +08:00
70eb0555e3 update 2020-06-22 16:34:59 +08:00
9a88dd7a8c Add the configuration to use the integrated UI in vscode 2020-06-19 17:35:09 +01:00
a862be723e Add other options to locate terraform provider binary 2020-06-19 14:34:12 +01:00
91d4d99a37 Update clone path in contribution readme 2020-06-19 13:43:06 +01:00
24455a9336 Samples: end-to-end testing (#47)
Add a new sample for end-to-end testing in Terraform projects.
2020-06-18 14:48:42 +02:00
74170d8203 Merge pull request #46 from aheumaier/samples/compliance-testing
Samples/compliance testing
2020-06-16 14:53:02 +02:00
8d795d595b Fix: Sync README from azure-dev-docs-pr on best-practice-compliance-testing 2020-06-16 14:39:39 +02:00
a1f201a7b0 Sync README from azure-dev-docs-pr on best-practice-compliance-testing 2020-06-16 14:09:58 +02:00
ac6f9729b0 Sync README from azure-dev-docs-pr on best-practice-compliance-testing 2020-06-16 14:07:51 +02:00
452680862c Sync README from azure-dev-docs-pr on best-practice-compliance-testing 2020-06-16 14:06:24 +02:00
e4058efbd2 Update samples/compliance-testing/README.md
Co-authored-by: Julien Corioland <jcorioland@users.noreply.github.com>
2020-06-16 09:31:48 +02:00
a935d8bf5e Added samples for compliance testing with terraform-compliance 2020-06-16 09:31:48 +02:00
9dd87817cf Update samples/compliance-testing/README.md
Co-authored-by: Julien Corioland <jcorioland@users.noreply.github.com>
2020-06-15 18:07:58 +02:00
708a45ea5a Added samples for compliance testing with terraform-compliance 2020-06-11 10:57:02 +02:00
3328af0982 Add Sample: Integration Testing (#43)
add samples for integration testing
2020-06-11 10:35:53 +02:00
7d4ee2d346 Merge pull request #33 from stfnbrndg/fix-readme-grammar
fix quickstart readme grammar
2019-12-02 14:46:58 -08:00
378f92b8d7 fix stack settings 2019-11-10 12:24:38 +01:00
0b8f7162f4 fix quickstart readme grammar 2019-11-08 21:12:11 -05:00
f607c17060 Merge pull request #32 from jlorich/master
Add initial Quickstart templates
2019-11-07 13:16:16 -05:00
5f390fa368 update aks enterprise 2019-11-06 16:39:48 -05:00
415e3caa97 reorganize, add scaffold folder
update readmes

clean up tf provider

add readme and initial templates

add initial pass at readmes

more readme updates

update various quickstarts

finish cleaning up 101s

more updates

lots fo template updates

add remaining

more updates
2019-11-06 16:39:59 -05:00
fa82feccc7 moved Eugenes Contrib.md file to the module folder and deleted the modules folder 2019-06-12 11:31:19 -07:00
84e8f362fc Merge pull request #31 from echuvyrov/modulecontributionguide
Looks great @echuvyrov
2019-06-12 11:22:46 -07:00
3ba339f80e Adding Terraform Module Contribution Guide 2019-06-11 20:10:56 -07:00
d5b9799f8d Merge pull request #25 from Azure/contrib
Merging Contrib branch to master
2019-05-29 10:58:00 -07:00
3d6183de4b Merge pull request #3 from jcorioland/contrib
Update contribution guide
2019-05-24 11:00:43 -07:00
8b65cc21c0 add data source/resource registration in provider.go 2019-05-24 09:27:35 +02:00
e8d6b4f92c few changes after @JunyiYi review 2019-05-21 09:58:42 +02:00
eaef681e00 fix typo and few additions 2019-05-17 10:11:21 +02:00
3b18e78dcd update local built provider 2019-05-15 16:08:10 +02:00
99ae52231c add link to official docs 2019-05-15 15:30:09 +02:00
ce248d03ef add instructions to develop the provider 2019-05-15 14:59:18 +02:00
649503b5e1 Merge pull request #2 from jcorioland/jcorioland/contrib
AzureRM Terraform Provider Contribution Guide
2019-05-14 08:47:11 +08:00
e6612d2970 addings/corrections after review 2019-05-13 16:03:06 +02:00
1c4804a006 Initial draft 2019-05-07 01:22:00 -07:00
dd927286fd add how to for debugging azurerm tf provider 2019-05-02 18:40:43 +02:00
8004c17619 contributing on AzureRM 2019-04-23 17:10:21 +02:00
9a78fe6869 provider contribute guide 2019-04-08 13:26:30 +02:00
69b2da1921 added submodules for TF modules and providers 2018-10-29 15:44:56 -07:00
764 changed files with 134942 additions and 976 deletions

View File

@ -0,0 +1,26 @@
{
"image": "mcr.microsoft.com/azterraform:latest",
"runArgs": [
"--cap-add=SYS_PTRACE",
"--security-opt",
"seccomp=unconfined",
"--init",
"--network=host"
],
"mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],
"customizations": {
"vscode": {
"settings": {
"go.toolsManagement.checkForUpdates": "local",
"go.useLanguageServer": true,
"go.goroot": "/usr/local/go"
},
"extensions": [
"hashicorp.terraform",
"golang.Go"
]
}
}
}

2
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1,2 @@
.github/workflows/ @lonegunmanb @TomArcherMsft
.github/CODEOWNERS @lonegunmanb @TomArcherMsft

48
.github/ISSUE_TEMPLATE/1_feature.yml vendored Normal file
View File

@ -0,0 +1,48 @@
name: 'Azure Terraform feature Ask'
description: Request a feature for Azure Terraform Verified Modules, Examples, AzAPI provider, Azure Terrafy, etc.
title: "<title>"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: dropdown
attributes:
label: Where would you like this feature added?
description: Let us know what product or area you would like to see this feature added to.
multiple: false
options:
- "Verified Modules"
- "AzAPI Provider"
- "Azure Terrafy"
- "Examples (Quickstart, Samples, etc.)"
- "Other/Unknown"
validations:
required: true
- type: textarea
attributes:
label: Is this feature ask due to a problem that you are encountering?
description: If so, please provide a clear and concise description of what the problem is.
placeholder: I'm always frustrated when [...]
validations:
required: false
- type: textarea
attributes:
label: Describe potential solutions.
description: Please provide a clear and concise description of what you want to happen.
placeholder: Add a way for me to [...]
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the feature you are requesting!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

View File

@ -0,0 +1,58 @@
name: 'Azure Terraform example Bug Report'
description: File a bug/issue for a configuration example (Quickstart, samples, etc.)
title: "<title>"
labels: [bug, example]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: input
attributes:
label: Example Name
description: The name of the example where you found the bug.
validations:
required: true
- type: input
attributes:
label: Terraform Version
description: |
What version of Terraform were you using when you encountered this issue?
`terraform --version
placeholder: 1.0.0
validations:
required: true
- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Run '...'
2. See error...
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

73
.github/ISSUE_TEMPLATE/3_module_bug.yml vendored Normal file
View File

@ -0,0 +1,73 @@
name: 'Azure Verified Module Bug Report'
description: File a bug/issue for a verified module
title: "<title>"
labels: [bug, module]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: input
attributes:
label: Module Name
description: The name of the module where you found the bug.
validations:
required: true
- type: input
attributes:
label: Terraform Version
description: |
What version of Terraform were you using when you encountered this issue?
`terraform --version
placeholder: 1.0.0
validations:
required: true
- type: input
attributes:
label: Module Version
description: |
What version of the Azure module were you using when you encountered this issue?
placeholder: 0.1.0
validations:
required: true
- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Terraform configuration
description: Please provide the minimum Terraform configuration that is resulting in the bug / issue.
render: terraform
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Run '...'
2. See error...
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

71
.github/ISSUE_TEMPLATE/4_azapi_bug.yml vendored Normal file
View File

@ -0,0 +1,71 @@
name: 'AzAPI Provider Bug Report'
description: File a bug/issue for the AzAPI Terraform Provider
title: "<title>"
labels: [bug, azapi]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: input
attributes:
label: Terraform Version
description: |
What version of Terraform were you using when you encountered this issue?
Please include operating system when applicable.
`terraform --version`
placeholder: 1.0.0
validations:
required: true
- type: input
attributes:
label: Provider Version
description: |
What version of the AzAPI provider were you using when you encountered this issue?
placeholder: 0.1.0
validations:
required: true
- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing. Include Error output where applicable.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Terraform configuration
description: Please provide the minimum Terraform configuration that is resulting in the bug / issue.
render: terraform
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: |
Steps to reproduce the behavior.
`terraform apply`
placeholder: |
1. Run '...'
2. See error...
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

43
.github/ISSUE_TEMPLATE/5_aztfy_bug.yml vendored Normal file
View File

@ -0,0 +1,43 @@
name: 'Azure Terrafy Bug Report'
description: File a bug/issue for Azure Terrafy (aztfy)
title: "<title>"
labels: [bug, aztfy]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing. Include error output where applicable.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. Run '...'
3. See error...
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: AzureRM provider issues and Feature requests
url: https://github.com/hashicorp/terraform-provider-azurerm/issues
about: Please ask questions and report issues with the AzureRM provider and related resources here.

56
.github/workflows/e2e.yaml vendored Normal file
View File

@ -0,0 +1,56 @@
name: E2E Test Check
on:
pull_request:
types: ['opened', 'synchronize']
paths:
- '.github/**'
- '.github/workflows/**'
- 'quickstart/**'
- 'test/**'
- 'test/e2e/**'
permissions:
actions: write
contents: read
id-token: write
jobs:
e2e-check:
runs-on: ubuntu-latest
environment:
name: test
steps:
- name: Checking for Fork
shell: pwsh
run: |
$isFork = "${{ github.event.pull_request.head.repo.fork }}"
if($isFork -eq "true") {
echo "### WARNING: This workflow is disabled for forked repositories. Please follow the [release branch process](https://azure.github.io/Azure-Verified-Modules/contributing/terraform/terraform-contribution-flow/#5-create-a-pull-request-to-the-upstream-repository) if end to end tests are required." >> $env:GITHUB_STEP_SUMMARY
}
- name: checkout
if: github.event.pull_request.head.repo.fork == false
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 #v3.6.0
- name: Get changed files
if: github.event.pull_request.head.repo.fork == false
id: changed-files
uses: tj-actions/changed-files@v45
with:
dir_names: true
separator: ","
dir_names_include_files: "quickstart/*"
files: "quickstart/**"
files_ignore: "**/TestRecord.md"
dir_names_max_depth: 2
- name: test pr
if: github.event.pull_request.head.repo.fork == false
env:
ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
run: |
echo "change files" $ALL_CHANGED_FILES
export ARM_OIDC_REQUEST_TOKEN=$ACTIONS_ID_TOKEN_REQUEST_TOKEN
export ARM_OIDC_REQUEST_URL=$ACTIONS_ID_TOKEN_REQUEST_URL
export ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }}
export ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }}
export ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID }}
export PACKER_VERSION=${{ vars.PACKER_VERSION }}
export CHANGED_FOLDERS="${{ steps.changed-files.outputs.all_changed_files }}"
docker run --rm -v $(pwd):/src -w /src/test --network=host -e ARM_SUBSCRIPTION_ID -e ARM_TENANT_ID -e ARM_CLIENT_ID -e ARM_OIDC_REQUEST_TOKEN -e ARM_OIDC_REQUEST_URL -e ARM_USE_OIDC=true -e CHANGED_FOLDERS mcr.microsoft.com/azterraform:latest sh -c "pkenv install $PACKER_VERSION && go mod tidy && go test -timeout=360m -v ./e2e"

31
.github/workflows/pr-check.yaml vendored Normal file
View File

@ -0,0 +1,31 @@
name: Pre Pull Request Check
on:
pull_request:
types: [ 'opened', 'synchronize' ]
paths:
- '.github/**'
- '.github/workflows/**'
- 'quickstart/**'
jobs:
prepr-check:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 #v3.6.0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v45
with:
dir_names: true
separator: ","
dir_names_include_files: "quickstart/*"
files: "quickstart/**"
dir_names_max_depth: 2
- name: pr-check
run: |
export CHANGED_FOLDERS="${{ steps.changed-files.outputs.all_changed_files }}"
if [ -z "${{ github.event.number }}" ]; then
CHANGED_FOLDERS=$(find ./quickstart -maxdepth 1 -mindepth 1 -type d | tr '\n' ',')
fi
docker run --rm -v $(pwd):/src -w /src -e CHANGED_FOLDERS mcr.microsoft.com/azterraform:latest make pr-check

43
.github/workflows/weekly-e2e.yaml vendored Normal file
View File

@ -0,0 +1,43 @@
name: Weekly E2E Test Check
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * 0'
permissions:
actions: write
contents: write
id-token: write
jobs:
full-e2e-check:
runs-on: ubuntu-latest
timeout-minutes: 1440
environment:
name: crontests
steps:
- name: checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 #v3.6.0
- name: test all examples
continue-on-error: true
timeout-minutes: 1440
run: |
git config --global --add safe.directory '*'
export ARM_OIDC_REQUEST_TOKEN=$ACTIONS_ID_TOKEN_REQUEST_TOKEN
export ARM_OIDC_REQUEST_URL=$ACTIONS_ID_TOKEN_REQUEST_URL
export ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }}
export ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }}
export ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID_CRONTEST }}
export PACKER_VERSION=${{ vars.PACKER_VERSION }}
docker run --rm -v $(pwd):/src -w /src/test --network=host -e ARM_SUBSCRIPTION_ID -e ARM_CLIENT_ID -e ARM_TENANT_ID -e ARM_OIDC_REQUEST_TOKEN -e ARM_OIDC_REQUEST_URL -e ARM_USE_OIDC=true -e CHANGED_FOLDERS mcr.microsoft.com/azterraform sh -c "pkenv install $PACKER_VERSION && go mod tidy && go test -timeout=1440m -parallel 10 -v ./e2e"
- name: Update
run: |
docker run --rm -v $(pwd):/src -w /src mcr.microsoft.com/azterraform sh scripts/update-test-record.sh
cd .git
sudo chmod -R a+rwX .
sudo find . -type d -exec chmod g+s '{}' +
- name: Commit & Push changes
uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 #v1.4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
message: 'Update TestRecord'
branch: ${{ env.default_branch }}

302
.gitignore vendored
View File

@ -1,288 +1,22 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
# Visual Studio 2015 cache/options directory
log/
obj/
_site/
.optemp/
_themes*/
_repo.*/
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
.vscode/
.idea
.ionide/
.openpublishing.buildcore.ps1.vscode/
*.DS_Store
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
.terraform
.terraform.lock.hcl
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
go.sum
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Typescript v1 declaration files
typings/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush
.cr/
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
TestRecord
**/TestRecord.md.tmp
terraform.tfstate
terraform.tfstate.backup

104
.gitmodules vendored Normal file
View File

@ -0,0 +1,104 @@
[submodule "provider/terraform-provider-azurerm"]
path = provider/terraform-provider-azurerm
url = git@github.com:terraform-providers/terraform-provider-azurerm.git
branch = master
[submodule "module/terraform-azurerm-compute"]
path = module/terraform-azurerm-compute
url = git@github.com:Azure/terraform-azurerm-compute.git
branch = master
[submodule "module/terraform-azurerm-network"]
path = module/terraform-azurerm-network
url = git@github.com:Azure/terraform-azurerm-network.git
branch = master
[submodule "module/terraform-azurerm-database"]
path = module/terraform-azurerm-database
url = git@github.com:Azure/terraform-azurerm-database.git
branch = master
[submodule "module/terraform-azurerm-loadbalancer"]
path = module/terraform-azurerm-loadbalancer
url = git@github.com:Azure/terraform-azurerm-loadbalancer.git
branch = master
[submodule "module/terraform-azurerm-computegroup"]
path = module/terraform-azurerm-computegroup
url = git@github.com:Azure/terraform-azurerm-computegroup.git
branch = master
[submodule "module/terraform-azurerm-network-security-group"]
path = module/terraform-azurerm-network-security-group
url = git@github.com:Azure/terraform-azurerm-network-security-group.git
branch = master
[submodule "module/terraform-azurerm-manageddisk"]
path = module/terraform-azurerm-manageddisk
url = git@github.com:Azure/terraform-azurerm-manageddisk.git
branch = master
[submodule "module/terraform-azurerm-vm"]
path = module/terraform-azurerm-vm
url = git@github.com:Azure/terraform-azurerm-vm.git
branch = master
[submodule "module/terraform-azurerm-vmss-cloudinit"]
path = module/terraform-azurerm-vmss-cloudinit
url = git@github.com:Azure/terraform-azurerm-vmss-cloudinit.git
branch = master
[submodule "module/terraform-azurerm-vnet"]
path = module/terraform-azurerm-vnet
url = git@github.com:Azure/terraform-azurerm-vnet.git
branch = master
[submodule "module/terraform-azurerm-encryptedmanageddisk"]
path = module/terraform-azurerm-encryptedmanageddisk
url = git@github.com:Azure/terraform-azurerm-encryptedmanageddisk.git
branch = master
[submodule "module/terraform-azurerm-diskencrypt"]
path = module/terraform-azurerm-diskencrypt
url = git@github.com:Azure/terraform-azurerm-diskencrypt.git
branch = master
[submodule "module/terraform-azurerm-postgresql"]
path = module/terraform-azurerm-postgresql
url = git@github.com:Azure/terraform-azurerm-postgresql.git
branch = master
[submodule "module/terraform-azurerm-storage-account"]
path = module/terraform-azurerm-storage-account
url = git@github.com:Azure/terraform-azurerm-storage-account.git
branch = master
[submodule "module/terraform-azurerm-routetable"]
path = module/terraform-azurerm-routetable
url = git@github.com:Azure/terraform-azurerm-routetable.git
branch = master
[submodule "module/terraform-azurerm-search-service"]
path = module/terraform-azurerm-search-service
url = git@github.com:Azure/terraform-azurerm-search-service.git
branch = master
[submodule "module/terraform-azurerm-vnetpeering"]
path = module/terraform-azurerm-vnetpeering
url = git@github.com:Azure/terraform-azurerm-vnetpeering.git
branch = master
[submodule "module/terraform-azurerm-aks"]
path = module/terraform-azurerm-aks
url = git@github.com:Azure/terraform-azurerm-aks.git
branch = master
[submodule "module/terraform-azurerm-consul"]
path = module/terraform-azurerm-consul
url = git@github.com:Azure/terraform-azurerm-consul.git
branch = master
[submodule "module/terraform-azurerm-aci"]
path = module/terraform-azurerm-aci
url = git@github.com:Azure/terraform-azurerm-aci.git
branch = master
[submodule "module/terraform-azurerm-disk-snapshot"]
path = module/terraform-azurerm-disk-snapshot
url = git@github.com:Azure/terraform-azurerm-disk-snapshot.git
branch = master
[submodule "module/terraform-azurerm-resource-group"]
path = module/terraform-azurerm-resource-group
url = git@github.com:Azure/terraform-azurerm-resource-group.git
branch = master
[submodule "module/terraform-azurerm-vm-extension-msi"]
path = module/terraform-azurerm-vm-extension-msi
url = git@github.com:Azure/terraform-azurerm-vm-extension-msi.git
branch = master
[submodule "module/terraform-azurerm-application-security-group"]
path = module/terraform-azurerm-application-security-group
url = git@github.com:Azure/terraform-azurerm-application-security-group.git
branch = master
[submodule "module/terraform-azurerm-module-test-jenkins"]
path = module/terraform-azurerm-module-test-jenkins
url = git@github.com:Azure/terraform-azurerm-module-test-jenkins.git
branch = master

10
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,10 @@
# Microsoft Open Source Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
Resources:
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns
- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support)

90
GNUmakefile Normal file
View File

@ -0,0 +1,90 @@
fmt:
@echo "==> Fixing source code with gofmt..."
# This logic should match the search logic in scripts/gofmtcheck.sh
find . -name '*.go' | grep -v vendor | xargs gofmt -s -w
fumpt:
@echo "==> Fixing source code with Gofumpt..."
# This logic should match the search logic in scripts/gofmtcheck.sh
find . -name '*.go' | grep -v vendor | xargs gofumpt -w
gosec:
@echo "==> Checking go code with gosec..."
cd test && gosec -tests ./...
tffmt:
@echo "==> Formatting terraform code..."
terraform fmt -recursive
tffmtcheck:
@sh "$(CURDIR)/scripts/terraform-fmt.sh"
tfvalidatecheck:
@sh "$(CURDIR)/scripts/terraform-validate.sh"
terrafmtcheck:
@sh "$(CURDIR)/scripts/terrafmt-check.sh"
gofmtcheck:
@sh "$(CURDIR)/scripts/gofmtcheck.sh"
@sh "$(CURDIR)/scripts/fumptcheck.sh"
golint:
@sh "$(CURDIR)/scripts/run-golangci-lint.sh"
tflint:
@sh "$(CURDIR)/scripts/run-tflint.sh"
lint: golint tflint gosec
checkovcheck:
@sh "$(CURDIR)/scripts/checkovcheck.sh"
checkovplancheck:
@sh "$(CURDIR)/scripts/checkovplancheck.sh"
fmtcheck: tfvalidatecheck # tffmtcheck terrafmtcheck
pr-check: fmtcheck
unit-test:
@sh "$(CURDIR)/scripts/run-unit-test.sh"
e2e-test:
@sh "$(CURDIR)/scripts/run-e2e-test.sh"
version-upgrade-test:
@sh "$(CURDIR)/scripts/version-upgrade-test.sh"
terrafmt:
@echo "==> Fixing test and document terraform blocks code with terrafmt..."
@find . -name '*.md' -o -name "*.go" | grep -v -e '.github' -e '.terraform' -e 'vendor' | while read f; do terrafmt fmt -f $$f; done
pre-commit: tffmt terrafmt depsensure fmt fumpt generate
depsensure:
@sh "$(CURDIR)/scripts/deps-ensure.sh"
depscheck:
@sh "$(CURDIR)/scripts/deps-check.sh"
generate:
@echo "--> Generating doc"
@rm -f .terraform.lock.hcl
@terraform-docs markdown table --output-file README.md --output-mode inject ./
@markdown-table-formatter README.md
gencheck:
@echo "==> Generating..."
@cp README.md README-generated.md
@terraform-docs markdown table --output-file README-generated.md --output-mode inject ./
@markdown-table-formatter README-generated.md
@echo "==> Comparing generated code to committed code..."
@diff -q README.md README-generated.md || \
(echo; echo "Unexpected difference in generated document. Run 'make pre-commit' to update the generated document and commit."; exit 1)
test: fmtcheck
@TEST=$(TEST) ./scripts/run-gradually-deprecated.sh
@TEST=$(TEST) ./scripts/run-test.sh
.PHONY: fmt fmtcheck pr-check

View File

@ -1,3 +1,13 @@
# Contributing
This project welcomes contributions and suggestions.
## Modules
Module summary
[Module contribution guide](./module/CONTRIBUTE.md)
## Providers
Provider summary
[Provider contribution guide](./provider/CONTRIBUTE.md)
# Contributing

41
SECURITY.md Normal file
View File

@ -0,0 +1,41 @@
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.7 BLOCK -->
## Security
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.
## Reporting Security Issues
**Please do not report security vulnerabilities through public GitHub issues.**
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc).
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
* Full paths of source file(s) related to the manifestation of the issue
* The location of the affected source code (tag/branch/commit or direct URL)
* Any special configuration required to reproduce the issue
* Step-by-step instructions to reproduce the issue
* Proof-of-concept or exploit code (if possible)
* Impact of the issue, including how an attacker might exploit the issue
This information will help us triage your report more quickly.
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.
## Preferred Languages
We prefer all communications to be in English.
## Policy
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).
<!-- END MICROSOFT SECURITY.MD BLOCK -->

37
module/CONTRIBUTE.md Normal file
View File

@ -0,0 +1,37 @@
# Contribute to Terraform Modules Registry
This document describes the basic process of authoring and contributing re-usable, verifiable Terraform templates to Terraform Registry (https://registry.terraform.io). Terraform Registry serves as a centralized location to discover, learn and use Terraform artifacts to provision infrastructure into Azure, as well as into other cloud platforms.
## Basic Steps
Below are the basic steps to create and publish a verified Azure module into the Terraform Registry:
1. Following best practices for Terraform template authoring, create a template deploying infrastructure components into Azure.
2. Create a set of tests verifying correctness of Terraform template created in Step 1.
3. Set up a basic Azure DevOps pipeline for Continuous Integration and Deployment, including running the tests created in Step 2 above.
4. Using your GitHub credentials, sign into Terraform Registry and publish your module.
While Steps 2 and 3 are not a requirement for Terraform Registry, we strongly encourage all modules published as "Azure Verified" to include those steps.
### Step 1 - Creating Terraform template
While Terraform offers an easy-to-create, easy-to-understand template authoring language in the form HCL, creating components that could be re-usable is often a time-consuming art form. With Terraform Registry, you are forced to think about various customer scenarios a template could be deployed with, and the permutation of various use cases could be daunting. While it is impossible to anticipate all the scenarios, we recommend that you familiarize yourself with a [set of Terraform Best Practices] (https://www.terraform.io/docs/enterprise/guides/recommended-practices/index.html) published by HashiCorp. Then, think through the most common use cases your module would likely serve, and try to author it in such a way that it will accommodate a set of those scenarios (as opposed to being strongly coupled to a single use case).
We have [created and documented a tool](https://docs.microsoft.com/en-us/azure/terraform/terraform-vscode-module-generator) that builds basic scaffolding for an Azure module, including a sample test. You are also welcome to clone one of the [existing modules] (https://github.com/Azure/terraform-azurerm-postgresql), providing you a set of Terraform files that you can customize for your module.
### Step 2 - Create a set of tests
After experimenting with several approaches for testing Terraform modules, we have settled on using [Terratest](https://github.com/gruntwork-io/terratest). The benefits of Terratest are its ease of integration with CI/CD tooling, as well its similarity to native [Terraform acceptance testing](https://github.com/hashicorp/terraform/blob/master/.github/CONTRIBUTING.md#writing-an-acceptance-test) framework. You will, however, need to be familiar with Go to create tests using Terratest.
If you used [Module Generator](https://docs.microsoft.com/en-us/azure/terraform/terraform-vscode-module-generator) in Step 1, a default test using Terratest is created for you in the test folder. You will need to think through additional tests that you can create that verify correctness of your template.
### Step 3 - Integrate with Azure DevOps
As you introduce changes to the module, or approve pull requests, you'd like to be certain that new changes did not break the functionality the users have become dependent on. This is where CI/CD integration comes in. Integration with Azure DevOps is straightforward to setup - you will need to make sure you have an [azure-pipelines.yml](https://github.com/Azure/terraform-azurerm-postgresql/blob/master/azure-pipelines.yml) in your repo, as well as add the [test.sh](https://github.com/Azure/terraform-azurerm-postgresql/blob/master/test.sh) file to the root of the repo.
The pipelines file is very generic - it builds a docker container and then calls into test.sh for Terratest execution. The only thing you will change in that file is the imageName variable - this will be the docker image name that the pipeline will create. The test.sh file is generic and stays as is, calling all of the test methods that were authored in Step 2.
After your pipelines succeed, please send a request to Terraform on Azure distribution list to pull this pipeline into Terraform ADO environment.
### Step 4 - Publish Module to Terraform Registry
This is the easiest step of all. Simply sign into [Terraform Registry](https://registry.terraform.io) using your GitHub credentials, then click on Publish in the top right corner. Select the repo to publish, then click publish to complete the process.
After your module has been published, please send a request to Terraform on Azure distribution list to enusre we add an "Azure Verified" check box next to the module you've created.

0
module/README.md Normal file
View File

293
provider/CONTRIBUTE.md Normal file
View File

@ -0,0 +1,293 @@
# Contribute to Terraform AzureRM provider
This document describe how you can get ready to contribute to the [AzureRM Terraform provider](https://github.com/terraform-providers/terraform-provider-azurerm).
We also recommend that you read the [README](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/README.md) on the AzureRM Terraform Provider repository.
## Setup your system
### Terraform
You need to install Terraform on your dev environment. You can downlaod it from [terraform](https://www.terraform.io/downloads.html).
### Go tools
Terraform is developed using Go Programming Language. You need to install Go Programming Language **1.x.x** to be able to build and debug the provider locally. You can check to see what version of Go is currently being used in the project by checking the [go.mod](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/go.mod) file in the root directory.
You can download it from [golang](https://golang.org/dl/) and find the installation instructions for your system [golang install](https://golang.org/doc/install#install)
Then you can test your environment following the instructions on [golang testing](https://golang.org/doc/install#testing).
### Check your environment variables
As with many Go project, AzureRM Terraform provider rely on your GOPATH environment variable. You may want to make sure it is well configured for your system, reading [golang setting go path](https://github.com/golang/go/wiki/SettingGOPATH).
### Visual Studio Code
You can use the IDE you love, but in this documentation we will describe how to contribute to the Terraform AzureRM provider using Visual Studio Code. You can download it for your system from [visual studio](https://code.visualstudio.com/Download).
Once installed, download the Go extension for VS Code:
![VS Code Go Extension](assets/ms-vscode-go.png)
Once installed, open VS Code and look for the `Go: Install/Update Tools` in the command palette, a select all the tools:
![Install Go Tools](assets/code-install-go-tools.png)
![Install Go Tools - All](assets/code-install-go-tools-all.png)
![Install Go Tools - Wait](assets/code-install-go-tools-wait.png)
### Specific requirements for Windows users
If you are running Windows, then you need to install Git Bash and Make for Windows. Check the dedicated section on Terraform on Azure repository [terraform developer requirements](https://github.com/terraform-providers/terraform-provider-azurerm#developer-requirements).
## Get the sources
First, go to the [AzureRM Terraform provider](https://github.com/terraform-providers/terraform-provider-azurerm) project page and fork the repository into your GitHub account.
As the provider uses go modules, you can clone the repository in any path.
## Build the sources
You can check that everything is OK by building the AzureRM provider:
```bash
cd $GOPATH/src/github.com/terraform-providers/terraform-provider-azurerm
make build
```
Once completed, the binary of the AzureRM provider should be available in the `$GOPATH/bin` directory.
*Note: on Windows, you need to use Git Bash*
More information [here](https://github.com/terraform-providers/terraform-provider-azurerm#developing-the-provider).
## Work with your local build
Once you have built a new version of the AzureRM Terraform provider, you can use it locally.
First, you need to move your `terraform` binary which is in the `$GOPATH/bin` folder on your machine, to the third-party plugins folder which is located at `~/.terraform.d/plugins` on most operating systems and `%APPDATA%\terraform.d\plugins` on Windows.
Then you will need to go to your terraform test folder where the `main.tf` configuration file exists and initialize your terraform working directory by using the `terraform init` command.
If the third-party plugin folder is empty, the init operation will download the AzureRM Provider for you.
More information [here](https://www.terraform.io/docs/extend/how-terraform-works.html#plugin-locations).
`terraform init` will look for the providers in the folder where the `.tf` files are located, so it is possible to just copy the provider from `$GOPATH/bin` to your current folder and it will be used instead of getting downloaded.
## Debug the AzureRM provider using Visual Studio Code and Delve
It is possible to use Visual Studio Code and Delve (the Golang debugger) to debug the AzureRM provider.
The easiest way to debug Terraform AzureRM Provider is to execute the acceptances unit test with the Delve debugger attached. Acceptance tests are tests that are written for every resources and data sources and that will really execute the code to an Azure subscription, to validate everything is working well.
First, to be able to connect to Azure, you need to create a service principal using the following command:
```bash
az ad sp create-for-rbac --role=Contributor --scope=/subscriptions/<YOUR_SUBSCRIPTION_ID>
```
Then, you need to create a `.launch.json` file inside the `.vscode` folder at the root of the Terraform AzureRM provider directory (create the `.vscode` folder if it does not exist).
Copy the following content into the file:
```json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch test function",
"type": "go",
"request": "launch",
"mode": "test",
"program": "${workspaceRoot}/azurerm/resource_arm_container_registry_test.go",
"args": [
"-test.v",
"-test.run",
"TestAccAzureRMContainerRegistry_geoReplication"
],
"envFile": "${workspaceRoot}/.vscode/private.env",
"showLog": true
},
]
}
```
The configuration above allows to start debugging a Terraform resource, by launching one or more acceptance test:
- The `program` property indicates the file you want to debug
- The last entry of the `args` property, here `TestAccAzureRMContainerRegistry_geoReplication` represents th test to launch. You can use regex to run multiple tests (ex: `TestAccAzureRMContainerRegistry_*`)
- The `envFile` property defines the path to get the environment variables file (mainly Azure credentials) that needs to be used to run the acceptance test.
Create the `private.env` file into the `.vscode` folder and fill it with the following environment variables:
```
ARM_CLIENT_ID=<YOUR_SERVICE_PRINCIPAL_CLIENT_ID>
ARM_CLIENT_SECRET=<YOUR_SERVICE_PRINCIPAL_CLIENT_SECRET>
ARM_SUBSCRIPTION_ID=<YOUR_AZURE_SUBSCRIPTION_ID>
ARM_TENANT_ID=<YOUR_AZURE_TENANT_ID>
ARM_TEST_LOCATION=<AZURE_LOCATION_1>
ARM_TEST_LOCATION_ALT=<AZURE_LOCATION_2>
TF_ACC=1
```
If you would preffer to use the UI to launch the tests, it is aso possible to specify the environment variables used by vscode integrated testing by modifying the settings.json. Two options are available
* Use the built in variables definition:
```json
"go.testEnvVars": {
"ARM_CLIENT_ID" : "<YOUR_SERVICE_PRINCIPAL_CLIENT_ID>"
...
...
},
```
* Use the contents of a file as `private.env`
```json
"go.testEnvFile": "${workspaceRoot}/.vscode/private.env"
```
*Note: it is possible to customize the logging level of Terraform. It might be super useful in some situations. It can be done by setting the `TF_LOG` environment variable. Refer to [the official debugging documentation](https://www.terraform.io/docs/internals/debugging.html) for more details.*
Once done, you can just press F5 and the debug will start! You can place breakpoints in your code to do step by step debugging:
![Install Go Tools - Wait](assets/code-debug-breakpoint.png)
*Note: the first time your start the debug, it can take a while, you need to be patient :-)*
## How to contribute to the Azure RM provider
*Note: we also invite you to read the official documentation about developing a provider [here](https://www.terraform.io/docs/plugins/basics.html#developing-a-plugin)*
First you need to pick [an issue on the provider](https://github.com/terraform-providers/terraform-provider-azurerm/issues) by commenting the issue and saying that you're going to work on that, to make sure that the repo maintainers are aware that you are going to work on this issue.
We also strongly advise that you describe the work you are planning to do, like explaining your implementation, submitting the TF schema for new resources, to make sure the discussion start early as possible with the reviewers.
*Note: if there is no issue for the problem you are trying to solve, you can create one.*
If you are a new contributor, there is a [good first issue](https://github.com/terraform-providers/terraform-provider-azurerm/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label that may help you to filter the issue and start with a simple one.
For each piece of code that you write into the provider, you need to make sure that you have:
- the implementations of the `data source` and/or `resource` definition
- acceptance test created or updated
- documentation created or updated
- example created or updated (optional)
Data sources, resources and tests are defined in the [azurerm/internal/services](https://github.com/terraform-providers/terraform-provider-azurerm/tree/master/azurerm/internal/services) folder of the repository.
Documentation for data sources is in the [website/docs/d](https://github.com/terraform-providers/terraform-provider-azurerm/tree/master/website/docs/d) folder and documentation for resources is in the [website/docs/r](https://github.com/terraform-providers/terraform-provider-azurerm/tree/master/website/docs/r) folder.
Finally, examples are located in the [examples](https://github.com/terraform-providers/terraform-provider-azurerm/tree/master/examples) folder.
AzureRM Terraform provider uses the [Azure SDK for Go](https://github.com/Azure/azure-sdk-for-go) to interact with Azure. It's important that you respect that rule. If you are trying to do something that is not available in the Azure SDK for Go, then you should check if the API is availble in [Azure Service Repository](https://github.com/Azure/azure-rest-api-specs) and open an issue in the **Azure SDK for Go** repository to have it added to a future release of the Azure SDK for Go.
We recommand that you start with fixing issues/patching an existing data source or resource to understand how it works in details before trying to implement a brand new one.
Don't forget that you are working on your own fork of the repository and that you need to open a pull request to the main repository to bring your update to the HashiCorp team, for review.
### Working with Azure SDK for Go
All the imports for the Azure for Go SDK services have to be done in the [client.go](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/azurerm/internal/clients/client.go) file. It exposes a top level struct, `Client` that exposes all the service clients that you may use in a data source or resource to interact with Azure. If the service already exist and you are just modifying an existing resource you can skip this step.
Then you need to register your subservice in `client.go` in your corresponding service folder.
For example, if you need to work on implementing Azure Batch Account support to the provider:
1. Check if the service `Batch` registered in service [client.go](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/azurerm/internal/clients/client.go). If not, you need to register your service.
2. Go to your corresponding service folder [batch](https://github.com/terraform-providers/terraform-provider-azurerm/tree/master/azurerm/internal/services/batch) and write a `client.go` in client folder. If the service folder does not exist, you will need to create one.
3. Add a variable `AccountClient` which is created by the service api `NewAccountClientWithBaseURI` from `"github.com/Azure/azure-sdk-for-go/services/batch/mgmt/2019-08-01/batch"`.
```go
type Client struct {
AccountClient *batch.AccountClient
}
```
4. Register your client in the Terraform ResourceManagerAuthorizer:
```go
func NewClient(o *common.ClientOptions) *Client {
accountClient := batch.NewAccountClientWithBaseURI(o.ResourceManagerEndpoint, o.SubscriptionId)
o.ConfigureClient(&accountClient.Client, o.ResourceManagerAuthorizer)
return &Client{
AccountClient: &accountClient,
}
}
```
By doing the four steps above, you will make sure that when developping the data source or the resource, you can access the Azure SDK for Go clients that you need.
### Developing a Data Source
When naming a new data source file it should follow the below naming convention:
**name_of_the_data_source**_data_source.go
A data source is composed of two relevant functions:
- The function that creates a `schema.Resource` object that returns the schema (definition) of the data source,i.e. the property that compose the data source, and some rules about those properties. You only need to provide required properties to locate that resource, and mark all other properties returned from the service as `Computed`. This function is named by convention dataSourceArm*NAME_OF_THE_DATA_SOURCE*, for example `dataSourceArmBatchAccount` for a Batch Account.
- The function that retrieves the data from Azure using the Azure SDK for Go client and set all the values related to the data source. This function is named by convention dataSourceArm*NAME_OF_THE_DATA_SOURCE*Read, for example `dataSourceArmBatchAccountRead` for a Batch Account.
This function takes a `schema.ResourceData` in parameter. You can get the name of the object to retrieve and any property that is defined by the user on that object:
```go
resourceGroup := d.Get("resource_group_name").(string)
name := d.Get("name").(string)
```
You can get a reference on any Azure SDK for Go client registered in the `client.go` using:
```go
client := meta.(*clients.Client).Batch.AccountClient
```
Finally, you can set values retrieve from Azure on the same object, using the `Set` function:
```go
d.Set("account_endpoint", resp.AccountEndpoint)
```
You can check the whole definition of the Azure Batch Account data source [here](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/azurerm/internal/services/batch/batch_account_data_source.go).
Once your data source is defined, you need to register it into the data sources map in the `registration.go` file:
```go
func (r Registration) SupportedDataSources() map[string]*schema.Resource {
return map[string]*schema.Resource{
"azurerm_batch_account": dataSourceArmBatchAccount(),
}
}
```
### Developing a resource
Developing a resource is really similar to developing a data source. Instead of having only a function to read the data from Azure, it also offers the possibility to write functions to create, update and delete the resource. Apart from that, concepts are the same:
- The file is named using the convention: *name_of_resource*_resource.go
- One function to define the schema of the resource, named by convention resourceArm*NAME_OF_RESOURCE*, for example `resourceArmBatchAccount`.
- One function to create the resource, named by convention resourceArm*NAME_OF_RESOURCE*Create, for example `resourceArmBatchAccountCreate`.
- One function to read the resource, named by convention resourceArm*NAME_OF_RESOURCE*Read, for example `resourceArmBatchAccountRead`.
- One function to update the resource, named by convention resourceArm*NAME_OF_RESOURCE*Update, for example `resourceArmBatchAccountUpdate`.
- One function to delete the resource, named by convention resourceArm*NAME_OF_RESOURCE*Delete, for example `resourceArmBatchAccountDelete`.
The [Azure Batch Account resource](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/azurerm/internal/services/batch/batch_account_resource.go) is a good and simple example to understand the flow.
Once your resource is defined, you need to register it into the resources map in the `registration.go` file:
```go
func (r Registration) SupportedResources() map[string]*schema.Resource {
return map[string]*schema.Resource{
"azurerm_batch_account": resourceArmBatchAccount(),
}
}
```
### Acceptance tests
Acceptance tests are tests that will run live on your Azure subscription to validate that your resource/data source is working as expected. Each resource/data source should have its own set of acceptance tests that will run independently of each other.
All tests for a given resource/data source are located in the `test` folder which is a sub folder of the service folder. The file name for the tests will be exactly the same as the resource/data source with the addition of the `_test.go` suffix. For example, if you created a data source for `batch account`, the data source file would be named **batch_account_data_source.go** and the test file would have the name **batch_account_data_source_test.go**.
You can find examples of tests for Azure Batch Account data source [here](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/azurerm/internal/services/batch/batch_account_data_source_test.go) and Azure Batch Account resource [here](https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/azurerm/internal/services/batch/batch_account_resource_test.go).
Please refer to the above section to learn how to run the acceptance tests on your computer.

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
name = random_pet.rg_name.id
location = var.resource_group_location
}
resource "random_string" "container_name" {
length = 25
lower = true
upper = false
special = false
}
resource "azurerm_container_group" "container" {
name = "${var.container_group_name_prefix}-${random_string.container_name.result}"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
ip_address_type = "Public"
os_type = "Linux"
restart_policy = var.restart_policy
container {
name = "${var.container_name_prefix}-${random_string.container_name.result}"
image = var.image
cpu = var.cpu_cores
memory = var.memory_in_gb
ports {
port = var.port
protocol = "TCP"
}
}
}

View File

@ -0,0 +1,3 @@
output "container_ipv4_address" {
value = azurerm_container_group.container.ip_address
}

View File

@ -0,0 +1,16 @@
terraform {
required_version = ">=1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {}
}

View File

@ -0,0 +1,26 @@
# Azure Container Instance with public IP
This template deploys an Azure Container Instance with a public IP address.
## Terraform resource types
- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string)
- [azurerm_container_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/container_group)
## Variables
| Name | Description | Default |
|-|-|-|
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
| `resource_group_location` | Location of the resource group. | eastus |
| `image` | Container image to deploy. | mcr.microsoft.com/azuredocs/aci-helloworld" |
| `port` | Port to open on the container and the public IP address. | 80 |
| `cpu_cores` | Quantity of CPU cores to allocate to the container. | 1 |
| `memory_in_gb` | Amount of memory to allocate to the container in gigabytes. | 2 |
| `restart_policy` | Behavior of Azure runtime if container has stopped. | Always |
## Example
To see how to run this example, see [Create an Azure Container Instance with a public IP address using Terraform](https://learn.microsoft.com/azure/container-instances/container-instances-quickstart-terraform).

View File

@ -0,0 +1,57 @@
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location for all resources."
}
variable "resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random value so name is unique in your Azure subscription."
}
variable "container_group_name_prefix" {
type = string
description = "Prefix of the container group name that's combined with a random value so name is unique in your Azure subscription."
default = "acigroup"
}
variable "container_name_prefix" {
type = string
description = "Prefix of the container name that's combined with a random value so name is unique in your Azure subscription."
default = "aci"
}
variable "image" {
type = string
description = "Container image to deploy. Should be of the form repoName/imagename:tag for images stored in public Docker Hub, or a fully qualified URI for other registries. Images from private registries require additional registry credentials."
default = "mcr.microsoft.com/azuredocs/aci-helloworld"
}
variable "port" {
type = number
description = "Port to open on the container and the public IP address."
default = 80
}
variable "cpu_cores" {
type = number
description = "The number of CPU cores to allocate to the container."
default = 1
}
variable "memory_in_gb" {
type = number
description = "The amount of memory to allocate to the container in gigabytes."
default = 2
}
variable "restart_policy" {
type = string
description = "The behavior of Azure runtime if container has stopped."
default = "Always"
validation {
condition = contains(["Always", "Never", "OnFailure"], var.restart_policy)
error_message = "The restart_policy must be one of the following: Always, Never, OnFailure."
}
}

View File

@ -0,0 +1,45 @@
# Azure AI Studio
This deployment configuration specifies an [Azure AI hub](https://learn.microsoft.com/en-us/azure/ai-studio/concepts/ai-resources),
and its associated resources including Azure Key Vault, Azure Storage. You can optionally provision and attach Azure Application Insights and Azure Container Registry.
This configuration describes the minimal set of resources you require to get started with Azure AI Studio.
## Resources
| Terraform Resource Type | Description |
| - | - |
| `azurerm_resource_group` | The resource group all resources get deployed into. |
| `azurerm_key_vault` | An Azure Key Vault instance associated to the Azure Machine Learning workspace. |
| `azurerm_storage_account` | An Azure Storage instance associated to the Azure Machine Learning workspace. |
| `azurerm_application_insights` | An Azure Application Insights instance associated to the Azure Machine Learning workspace. |
| `azurerm_container_registry` | An Azure Container Registry instance associated to the Azure Machine Learning workspace. |
## Variables
| Name | Description | Default |
| ---- | ----------- | ------- |
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
| `resource_group_location` | Location of the resource group. | eastus |
| `prefix` | This variable is used to name the hub, project, and dependent resources. | ai |
| `sku` | The SKU for AI Services resources | S0
## Usage
After git cloning the repo, run the following commands after having docker running on your machine.
```bash
terraform init
az login
terraform plan -out demo.tfplan
terraform apply "demo.tfplan"
```
## Common mistakes
1. Make sure docker is running
1. Make sure to have logged into your Azure Subscription by running ```az login```.
1. Ensure that you have the correct RBAC permissions for in your subscription, hub, and project.

View File

@ -0,0 +1,216 @@
## 29 Sep 24 02:51 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 29 Sep 24 00:11 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 27 Sep 24 07:07 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 22 Sep 24 00:15 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 18 Sep 24 03:30 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 08 Sep 24 02:33 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Sep 24 02:35 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 25 Aug 24 02:22 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 18 Aug 24 02:25 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 11 Aug 24 02:09 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.14.0
+ provider registry.terraform.io/hashicorp/azurerm v3.115.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 04 Aug 24 02:13 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.14.0
+ provider registry.terraform.io/hashicorp/azurerm v3.114.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Aug 24 03:14 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.14.0
+ provider registry.terraform.io/hashicorp/azurerm v3.113.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---

View File

@ -0,0 +1,160 @@
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
// RESOURCE GROUP
resource "azurerm_resource_group" "rg" {
location = var.resource_group_location
name = random_pet.rg_name.id
}
data "azurerm_client_config" "current" {
}
// STORAGE ACCOUNT
resource "azurerm_storage_account" "default" {
name = "${var.prefix}storage${random_string.suffix.result}"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
account_tier = "Standard"
account_replication_type = "GRS"
allow_nested_items_to_be_public = false
}
// KEY VAULT
resource "azurerm_key_vault" "default" {
name = "${var.prefix}keyvault${random_string.suffix.result}"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "standard"
purge_protection_enabled = false
}
// AzAPI AIServices
resource "azapi_resource" "AIServicesResource"{
type = "Microsoft.CognitiveServices/accounts@2023-10-01-preview"
name = "AIServicesResource${random_string.suffix.result}"
location = azurerm_resource_group.rg.location
parent_id = azurerm_resource_group.rg.id
identity {
type = "SystemAssigned"
}
body = jsonencode({
name = "AIServicesResource${random_string.suffix.result}"
properties = {
//restore = true
customSubDomainName = "${random_string.suffix.result}domain"
apiProperties = {
statisticsEnabled = false
}
}
kind = "AIServices"
sku = {
name = var.sku
}
})
response_export_values = ["*"]
}
// Azure AI Hub
resource "azapi_resource" "hub" {
type = "Microsoft.MachineLearningServices/workspaces@2024-04-01-preview"
name = "${random_pet.rg_name.id}-aih"
location = azurerm_resource_group.rg.location
parent_id = azurerm_resource_group.rg.id
identity {
type = "SystemAssigned"
}
body = jsonencode({
properties = {
description = "This is my Azure AI hub"
friendlyName = "My Hub"
storageAccount = azurerm_storage_account.default.id
keyVault = azurerm_key_vault.default.id
/* Optional: To enable these field, the corresponding dependent resources need to be uncommented.
applicationInsight = azurerm_application_insights.default.id
containerRegistry = azurerm_container_registry.default.id
*/
/*Optional: To enable Customer Managed Keys, the corresponding
encryption = {
status = var.encryption_status
keyVaultProperties = {
keyVaultArmId = azurerm_key_vault.default.id
keyIdentifier = var.cmk_keyvault_key_uri
}
}
*/
}
kind = "hub"
})
}
// Azure AI Project
resource "azapi_resource" "project" {
type = "Microsoft.MachineLearningServices/workspaces@2024-04-01-preview"
name = "my-ai-project${random_string.suffix.result}"
location = azurerm_resource_group.rg.location
parent_id = azurerm_resource_group.rg.id
identity {
type = "SystemAssigned"
}
body = jsonencode({
properties = {
description = "This is my Azure AI PROJECT"
friendlyName = "My Project"
hubResourceId = azapi_resource.hub.id
}
kind = "project"
})
}
// AzAPI AI Services Connection
resource "azapi_resource" "AIServicesConnection" {
type = "Microsoft.MachineLearningServices/workspaces/connections@2024-04-01-preview"
name = "Default_AIServices${random_string.suffix.result}"
parent_id = azapi_resource.hub.id
body = jsonencode({
properties = {
category = "AIServices",
target = jsondecode(azapi_resource.AIServicesResource.output).properties.endpoint,
authType = "AAD",
isSharedToAll = true,
metadata = {
ApiType = "Azure",
ResourceId = azapi_resource.AIServicesResource.id
}
}
})
response_export_values = ["*"]
}
/* The following resources are OPTIONAL.
// APPLICATION INSIGHTS
resource "azurerm_application_insights" "default" {
name = "${var.prefix}appinsights${random_string.suffix.result}"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
application_type = "web"
}
// CONTAINER REGISTRY
resource "azurerm_container_registry" "default" {
name = "${var.prefix}contreg${random_string.suffix.result}"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
sku = "premium"
admin_enabled = true
}
*/

View File

@ -0,0 +1,11 @@
output "resource_group_name" {
value = azurerm_resource_group.rg.id
}
output "workspace_name" {
value = azapi_resource.project.id
}
output "endpoint" {
value = jsondecode(azapi_resource.AIServicesResource.output).properties.endpoint
}

View File

@ -0,0 +1,33 @@
terraform {
required_version = ">= 1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
azapi = {
source = "azure/azapi"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {
key_vault {
recover_soft_deleted_key_vaults = false
purge_soft_delete_on_destroy = false
purge_soft_deleted_keys_on_destroy = false
}
resource_group {
prevent_deletion_if_contains_resources = false
}
}
}
provider "azapi" {
}

View File

@ -0,0 +1,40 @@
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable "resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}
variable "prefix" {
type = string
description="This variable is used to name the hub, project, and dependent resources."
default = "ai"
}
variable "sku" {
type = string
description = "The sku name of the Azure Analysis Services server to create. Choose from: B1, B2, D1, S0, S1, S2, S3, S4, S8, S9. Some skus are region specific. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview#availability-by-region"
default = "S0"
}
resource "random_string" "suffix" {
length = 4
special = false
upper = false
}
/*Optional: For Customer Managed Keys, uncomment this part AND the corresponding section in main.tf
variable "cmk_keyvault_key_uri" {
description = "Key vault uri to access the encryption key."
}
variable "encryption_status" {
description = "Indicates whether or not the encryption is enabled for the workspace."
default = "Enabled"
}
*/

View File

@ -0,0 +1,25 @@
# Windows-based Azure Kubernetes Service (AKS) cluster
This template deploys an AKS cluster with Windows nodes.
## Terraform resource types
- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string)
- [azurerm_virtual_network](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network)
- [azurerm_kubernetes_cluster](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster)
- [azurerm_kubernetes_cluster_node_pool](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster_node_pool)
## Variables
| Name | Description | Default |
|-|-|-|
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
| `resource_group_location` | Location of the resource group. | eastus |
| `node_count_linux` | Initial quantity of Linux nodes for the node pool. | 1 |
| `node_count_windows` | Initial quantity of Windows nodes for the node pool. | 1 |
| `admin_username` | Admin username for the Windows node pool. | azureuser |
| `admin_password` | Admin password for the Windows node pool. | Passw0rd1234Us! |
## Example

View File

@ -0,0 +1,204 @@
## 29 Sep 24 02:51 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 29 Sep 24 00:11 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 27 Sep 24 07:12 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 22 Sep 24 00:14 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 18 Sep 24 03:30 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 08 Sep 24 02:31 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Sep 24 02:36 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 25 Aug 24 02:23 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 18 Aug 24 02:30 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 11 Aug 24 02:14 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.115.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 04 Aug 24 02:27 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.114.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Aug 24 03:15 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.113.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---

View File

@ -0,0 +1,73 @@
# Generate random resource group name
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
location = var.resource_group_location
name = random_pet.rg_name.id
}
resource "random_pet" "azurerm_kubernetes_cluster_name" {
prefix = "cluster"
}
resource "random_pet" "azurerm_kubernetes_cluster_dns_prefix" {
prefix = "dns"
}
resource "random_string" "azurerm_kubernetes_cluster_node_pool" {
length = 6
special = false
numeric = false
lower = true
upper = false
}
resource "azurerm_virtual_network" "vnet" {
name = "myvnet"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
address_space = ["10.1.0.0/16"]
subnet {
name = "subnet1"
address_prefix = "10.1.1.0/24"
}
}
resource "azurerm_kubernetes_cluster" "aks" {
name = random_pet.azurerm_kubernetes_cluster_name.id
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
dns_prefix = random_pet.azurerm_kubernetes_cluster_dns_prefix.id
identity {
type = "SystemAssigned"
}
default_node_pool {
name = "agentpool"
vm_size = "Standard_D2_v2"
node_count = var.node_count_linux
vnet_subnet_id = element(tolist(azurerm_virtual_network.vnet.subnet), 0).id
}
windows_profile {
admin_username = var.admin_username
admin_password = var.admin_password
}
network_profile {
network_plugin = "azure"
load_balancer_sku = "standard"
}
}
resource "azurerm_kubernetes_cluster_node_pool" "win" {
name = random_string.azurerm_kubernetes_cluster_node_pool.result
kubernetes_cluster_id = azurerm_kubernetes_cluster.aks.id
vm_size = "Standard_D4s_v3"
node_count = var.node_count_windows
os_type = "Windows"
}

View File

@ -0,0 +1,20 @@
output "resource_group_name" {
value = azurerm_resource_group.rg.name
}
output "kubernetes_cluster_name" {
value = azurerm_kubernetes_cluster.aks.name
}
output "kubernetes_cluster_dns_prefix" {
value = azurerm_kubernetes_cluster.aks.dns_prefix
}
output "kubernetes_cluster_node_pool_name" {
value = azurerm_kubernetes_cluster_node_pool.win.name
}
output "kubernetes_cluster_kube_config_raw" {
value = azurerm_kubernetes_cluster.aks.kube_config_raw
sensitive = true
}

View File

@ -0,0 +1,19 @@
terraform {
required_version = ">= 1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {
}
}

View File

@ -0,0 +1,35 @@
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable "resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}
variable "node_count_linux" {
type = number
description = "The initial quantity of Linux nodes for the node pool."
default = 1
}
variable "node_count_windows" {
type = number
description = "The initial quantity of Windows nodes for the node pool."
default = 1
}
variable "admin_username" {
type = string
description = "The admin username for the Windows node pool."
default = "azureuser"
}
variable "admin_password" {
type = string
description = "The admin password for the Windows node pool."
default = "Passw0rd1234Us!"
}

View File

@ -0,0 +1,19 @@
# Aure Kubernetes Service (AKS) with standard load balancer and Virtual Machine Scale Sets (VMSS)
This template deploys an AKS cluster a standard load balancer and Virtual Machine Scale Sets (VMSS)
## Terraform resource types
- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string)
- [azurerm_kubernetes_cluster](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster)
## Variables
| Name | Description | Default |
|-|-|-|
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
| `resource_group_location` | Location of the resource group. | eastus |
## Example

View File

@ -0,0 +1,204 @@
## 29 Sep 24 02:50 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 29 Sep 24 00:11 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 27 Sep 24 07:08 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 22 Sep 24 00:13 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 18 Sep 24 03:30 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 08 Sep 24 02:21 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Sep 24 02:15 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 25 Aug 24 02:16 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 18 Aug 24 02:18 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 11 Aug 24 02:04 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.115.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 04 Aug 24 02:09 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.114.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Aug 24 03:08 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.113.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---

View File

@ -0,0 +1,43 @@
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
location = var.resource_group_location
name = random_pet.rg_name.id
}
resource "random_string" "aks_cluster_name" {
length = 12
special = false
}
resource "azurerm_kubernetes_cluster" "aks_cluster" {
name = random_string.aks_cluster_name.result
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
dns_prefix = "myakscluster"
default_node_pool {
type = "VirtualMachineScaleSets"
name = "default"
node_count = 1
max_count = 3
min_count = 1
vm_size = "Standard_DS2_v2"
enable_auto_scaling = true
}
network_profile {
network_plugin = "azure"
load_balancer_sku = "standard"
}
identity {
type = "SystemAssigned"
}
tags = {
Environment = "Production"
}
}

View File

@ -0,0 +1,7 @@
output "resource_group_name" {
value = azurerm_resource_group.rg.name
}
output "aks_cluster_name" {
value = azurerm_kubernetes_cluster.aks_cluster.name
}

View File

@ -0,0 +1,16 @@
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {}
}

View File

@ -0,0 +1,11 @@
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable "resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
name = random_pet.rg_name.id
location = var.resource_group_location
}
resource "random_string" "azurerm_analysis_services_server_name" {
length = 25
upper = false
numeric = false
special = false
}
resource "azurerm_analysis_services_server" "server" {
name = random_string.azurerm_analysis_services_server_name.result
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
sku = var.sku
backup_blob_container_uri = var.backup_blob_container_uri
ipv4_firewall_rule {
name = "AllowFromAll"
range_start = "0.0.0.0"
range_end = "255.255.255.255"
}
}

View File

@ -0,0 +1,7 @@
output "resource_group_name" {
value = azurerm_resource_group.rg.name
}
output "analysis_services_server_name" {
value = azurerm_analysis_services_server.server.name
}

View File

@ -0,0 +1,16 @@
terraform {
required_version = ">=0.12"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {}
}

View File

@ -0,0 +1,19 @@
# Azure Analysis Services server
This template deploys an Azure Analysis Services server.
## Terraform resource types
- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
- [azurerm_analysis_services_server](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/analysis_services_server)
## Variables
| Name | Description | Default |
|-|-|-|
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
| `resource_group_location` | Location of the resource group. | eastus |
| `server_name` | Name of the Azure Analysis Services server. | |
| `sku` | SKU name of the Azure Analysis Services server to create. | S0 |
| `backup_blob_container_uri` | SAS URI to a private Azure Blob Storage container with read, write and list permissions. | null |

View File

@ -0,0 +1,23 @@
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location for all resources."
}
variable "resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}
variable "sku" {
type = string
description = "The sku name of the Azure Analysis Services server to create. Choose from: B1, B2, D1, S0, S1, S2, S3, S4, S8, S9. Some skus are region specific. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview#availability-by-region"
default = "S0"
}
variable "backup_blob_container_uri" {
type = string
description = "The SAS URI to a private Azure Blob Storage container with read, write and list permissions. Required only if you intend to use the backup/restore functionality. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-backup"
default = null
}

View File

@ -0,0 +1,22 @@
# Azure Windows Web App with Backup
This template deploys an Azure Windows Web App with a backup configured.
## Terraform resource types
- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string)
- [azurerm_storage_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account)
- [azurerm_storage_container](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_container)
- [azurerm_service_plan](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/service_plan)
- [azurerm_windows_web_app](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_web_app)
## Variables
| Name | Description | Default value |
|-|-|-|
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
| `resource_group_location` | Location of the resource group. | eastus |
## Example

View File

@ -0,0 +1,204 @@
## 29 Sep 24 02:51 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 29 Sep 24 00:11 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 27 Sep 24 06:58 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 22 Sep 24 00:13 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 18 Sep 24 03:29 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 08 Sep 24 02:17 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Sep 24 02:17 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 25 Aug 24 02:11 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 18 Aug 24 02:13 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.116.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 11 Aug 24 01:55 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.115.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 04 Aug 24 01:59 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.114.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Aug 24 03:04 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/hashicorp/azurerm v3.113.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---

View File

@ -0,0 +1,121 @@
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
location = var.resource_group_location
name = random_pet.rg_name.id
}
resource "random_string" "storage_account_name" {
length = 8
lower = true
numeric = false
special = false
upper = false
}
resource "azurerm_storage_account" "example" {
name = random_string.storage_account_name.result
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
account_tier = "Standard"
account_replication_type = "LRS"
}
resource "random_string" "storage_container_name" {
length = 8
lower = true
numeric = false
special = false
upper = false
}
resource "azurerm_storage_container" "example" {
name = random_string.storage_container_name.result
storage_account_name = azurerm_storage_account.example.name
container_access_type = "private"
}
resource "random_string" "service_plan_name" {
length = 8
lower = true
numeric = false
special = false
upper = false
}
resource "azurerm_service_plan" "example" {
name = random_string.service_plan_name.result
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
os_type = "Windows"
sku_name = "S1"
}
data "azurerm_storage_account_sas" "example" {
connection_string = azurerm_storage_account.example.primary_connection_string
https_only = true
resource_types {
service = false
container = false
object = true
}
services {
blob = true
queue = false
table = false
file = false
}
# Please change the start_date variable (in variables.tf) to the appropriate
# value for your environment.
start = formatdate(var.start_date, timestamp())
expiry = formatdate(var.start_date, timeadd(timestamp(), "8765h"))
permissions {
read = false
write = true
delete = false
list = false
add = false
create = false
update = false
process = false
tag = false
filter = false
}
}
resource "random_string" "windows_web_app_name" {
length = 8
lower = true
numeric = false
special = false
upper = false
}
resource "azurerm_windows_web_app" "example" {
name = random_string.windows_web_app_name.result
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
service_plan_id = azurerm_service_plan.example.id
backup {
name = "Example"
storage_account_url = "https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}&sr=b"
schedule {
frequency_interval = 30
frequency_unit = "Day"
}
}
site_config {
application_stack {
dotnet_version = "v6.0"
current_stack = "dotnet"
}
}
}

View File

@ -0,0 +1,23 @@
output "resource_group_name" {
value = azurerm_resource_group.rg.name
}
output "storage_account_name" {
value = azurerm_storage_account.example.name
}
output "storage_container_name" {
value = azurerm_storage_container.example.name
}
output "service_plan_name" {
value = azurerm_service_plan.example.name
}
output "windows_web_app_name" {
value = azurerm_windows_web_app.example.name
}
output "windows_web_app_default_hostname" {
value = azurerm_windows_web_app.example.default_hostname
}

View File

@ -0,0 +1,18 @@
terraform {
required_version = ">=1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {}
}

View File

@ -0,0 +1,18 @@
variable "resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable "start_date" {
type = string
default = "2024-06-01"
description = "Start date."
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
resource "random_string" "rg" {
length = 8
upper = false
special = false
}
resource "azurerm_resource_group" "rg" {
name = "101-application-gateway-${random_string.rg.result}"
location = "eastus"
}
resource "azurerm_virtual_network" "vnet" {
name = "myVNet"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
address_space = ["10.21.0.0/16"]
}
resource "azurerm_subnet" "frontend" {
name = "myAGSubnet"
resource_group_name = azurerm_resource_group.rg.name
virtual_network_name = azurerm_virtual_network.vnet.name
address_prefixes = ["10.21.0.0/24"]
}
resource "azurerm_subnet" "backend" {
name = "myBackendSubnet"
resource_group_name = azurerm_resource_group.rg.name
virtual_network_name = azurerm_virtual_network.vnet.name
address_prefixes = ["10.21.1.0/24"]
}
resource "azurerm_public_ip" "pip" {
name = "myAGPublicIPAddress"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
allocation_method = "Static"
sku = "Standard"
}
resource "azurerm_application_gateway" "main" {
name = "myAppGateway"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
sku {
name = "Standard_v2"
tier = "Standard_v2"
capacity = 2
}
gateway_ip_configuration {
name = "my-gateway-ip-configuration"
subnet_id = azurerm_subnet.frontend.id
}
frontend_port {
name = var.frontend_port_name
port = 80
}
frontend_ip_configuration {
name = var.frontend_ip_configuration_name
public_ip_address_id = azurerm_public_ip.pip.id
}
backend_address_pool {
name = var.backend_address_pool_name
}
backend_http_settings {
name = var.http_setting_name
cookie_based_affinity = "Disabled"
port = 80
protocol = "Http"
request_timeout = 60
}
http_listener {
name = var.listener_name
frontend_ip_configuration_name = var.frontend_ip_configuration_name
frontend_port_name = var.frontend_port_name
protocol = "Http"
}
request_routing_rule {
name = var.request_routing_rule_name
rule_type = "Basic"
http_listener_name = var.listener_name
backend_address_pool_name = var.backend_address_pool_name
backend_http_settings_name = var.http_setting_name
priority = 1
}
}
resource "azurerm_network_interface" "nic" {
count = 2
name = "nic-${count.index+1}"
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
ip_configuration {
name = "nic-ipconfig-${count.index+1}"
subnet_id = azurerm_subnet.backend.id
private_ip_address_allocation = "Dynamic"
}
}
resource "azurerm_network_interface_application_gateway_backend_address_pool_association" "nic-assoc" {
count = 2
network_interface_id = azurerm_network_interface.nic[count.index].id
ip_configuration_name = "nic-ipconfig-${count.index+1}"
backend_address_pool_id = one(azurerm_application_gateway.main.backend_address_pool).id
}
resource "random_password" "password" {
length = 16
special = true
lower = true
upper = true
numeric = true
}
resource "azurerm_windows_virtual_machine" "vm" {
count = 2
name = "myVM${count.index+1}"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
size = "Standard_DS1_v2"
admin_username = "azureadmin"
admin_password = random_password.password.result
network_interface_ids = [
azurerm_network_interface.nic[count.index].id,
]
os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
}
source_image_reference {
publisher = "MicrosoftWindowsServer"
offer = "WindowsServer"
sku = "2019-Datacenter"
version = "latest"
}
}
resource "azurerm_virtual_machine_extension" "vm-extensions" {
count = 2
name = "vm${count.index+1}-ext"
virtual_machine_id = azurerm_windows_virtual_machine.vm[count.index].id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.10"
settings = <<SETTINGS
{
"commandToExecute": "powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"
}
SETTINGS
}

View File

@ -0,0 +1,3 @@
output "gateway_frontend_ip" {
value = "http://${azurerm_public_ip.pip.ip_address}"
}

View File

@ -0,0 +1,18 @@
terraform {
required_version = ">=1.2"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 3.0"
}
random = {
source = "hashicorp/random"
version = "~> 3.0"
}
}
}
provider "azurerm" {
features {}
}

View File

@ -0,0 +1,382 @@
# Azure Application Gateway
This template deploys an [Azure Application Gateway](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/application_gateway) v2 and two Windows Server 2019 Datacenter test servers for the backend pool.
## Resources
| Terraform Resource Type | Description |
| - | - |
| `azurerm_resource_group` | The resource group all the deployed resources.|
| `azurerm_virtual_network` | The virtual network for the application gateway. |
| `azurerm_subnet` |The application gateway subnets.|
| `azurerm_public_ip` | The application gateway public IP address. |
| `azurerm_application_gateway` | The v2 Azure Application Gateway. |
| `azurerm_network_interface` | The network interfaces for the test servers. |
| `azurerm_network_interface_application_gateway_backend_address_pool_association` | The network interface association to the backend pool. |
| `azurerm_virtual_machine_extension` | The VM extension for the test servers to install the Web server. |
| `azurerm_windows_virtual_machine` | The VM test servers. |
| `random_password` | Random password for the VM test servers. |
## Variables
| Name | Description |
|-|-|
| `backend_address_pool_name` | Backend pool name |
| `frontend_port_name` | Frontend port name|
| `frontend_ip_configuration_name` | Frontend IP configuration name |
| `http_setting_name` | HTTP setting name |
| `listener_name` | Listener name |
| `request_routing_rule_name` | Routing rule name|
| `redirect_configuration_name` | Redirection configuration name |
## Example
```bash
$ terraform plan -out main.tfplan
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# azurerm_application_gateway.network will be created
+ resource "azurerm_application_gateway" "network" {
+ id = (known after apply)
+ location = "eastus"
+ name = "myAppGateway"
+ private_endpoint_connection = (known after apply)
+ resource_group_name = "myResourceGroupAG"
+ backend_address_pool {
+ id = (known after apply)
+ name = "myBackendPool"
}
+ backend_http_settings {
+ cookie_based_affinity = "Disabled"
+ id = (known after apply)
+ name = "myHTTPsetting"
+ pick_host_name_from_backend_address = false
+ port = 80
+ probe_id = (known after apply)
+ protocol = "Http"
+ request_timeout = 60
}
+ frontend_ip_configuration {
+ id = (known after apply)
+ name = "myAGIPConfig"
+ private_ip_address = (known after apply)
+ private_ip_address_allocation = (known after apply)
+ private_link_configuration_id = (known after apply)
+ public_ip_address_id = (known after apply)
+ subnet_id = (known after apply)
}
+ frontend_port {
+ id = (known after apply)
+ name = "myFrontendPort"
+ port = 80
}
+ gateway_ip_configuration {
+ id = (known after apply)
+ name = "my-gateway-ip-configuration"
+ subnet_id = (known after apply)
}
+ http_listener {
+ frontend_ip_configuration_id = (known after apply)
+ frontend_ip_configuration_name = "myAGIPConfig"
+ frontend_port_id = (known after apply)
+ frontend_port_name = "myFrontendPort"
+ id = (known after apply)
+ name = "myListener"
+ protocol = "Http"
+ ssl_certificate_id = (known after apply)
+ ssl_profile_id = (known after apply)
}
+ request_routing_rule {
+ backend_address_pool_id = (known after apply)
+ backend_address_pool_name = "myBackendPool"
+ backend_http_settings_id = (known after apply)
+ backend_http_settings_name = "myHTTPsetting"
+ http_listener_id = (known after apply)
+ http_listener_name = "myListener"
+ id = (known after apply)
+ name = "myRoutingRule"
+ redirect_configuration_id = (known after apply)
+ rewrite_rule_set_id = (known after apply)
+ rule_type = "Basic"
+ url_path_map_id = (known after apply)
}
+ sku {
+ capacity = 2
+ name = "Standard_v2"
+ tier = "Standard_v2"
}
+ ssl_policy {
+ cipher_suites = (known after apply)
+ disabled_protocols = (known after apply)
+ min_protocol_version = (known after apply)
+ policy_name = (known after apply)
+ policy_type = (known after apply)
}
}
# azurerm_network_interface.nic[0] will be created
+ resource "azurerm_network_interface" "nic" {
+ applied_dns_servers = (known after apply)
+ dns_servers = (known after apply)
+ enable_accelerated_networking = false
+ enable_ip_forwarding = false
+ id = (known after apply)
+ internal_dns_name_label = (known after apply)
+ internal_domain_name_suffix = (known after apply)
+ location = "eastus"
+ mac_address = (known after apply)
+ name = "nic-1"
+ private_ip_address = (known after apply)
+ private_ip_addresses = (known after apply)
+ resource_group_name = "myResourceGroupAG"
+ virtual_machine_id = (known after apply)
+ ip_configuration {
+ gateway_load_balancer_frontend_ip_configuration_id = (known after apply)
+ name = "nic-ipconfig-1"
+ primary = (known after apply)
+ private_ip_address = (known after apply)
+ private_ip_address_allocation = "Dynamic"
+ private_ip_address_version = "IPv4"
+ subnet_id = (known after apply)
}
}
# azurerm_network_interface.nic[1] will be created
+ resource "azurerm_network_interface" "nic" {
+ applied_dns_servers = (known after apply)
+ dns_servers = (known after apply)
+ enable_accelerated_networking = false
+ enable_ip_forwarding = false
+ id = (known after apply)
+ internal_dns_name_label = (known after apply)
+ internal_domain_name_suffix = (known after apply)
+ location = "eastus"
+ mac_address = (known after apply)
+ name = "nic-2"
+ private_ip_address = (known after apply)
+ private_ip_addresses = (known after apply)
+ resource_group_name = "myResourceGroupAG"
+ virtual_machine_id = (known after apply)
+ ip_configuration {
+ gateway_load_balancer_frontend_ip_configuration_id = (known after apply)
+ name = "nic-ipconfig-2"
+ primary = (known after apply)
+ private_ip_address = (known after apply)
+ private_ip_address_allocation = "Dynamic"
+ private_ip_address_version = "IPv4"
+ subnet_id = (known after apply)
}
}
# azurerm_network_interface_application_gateway_backend_address_pool_association.nic-assoc01[0] will be created
+ resource "azurerm_network_interface_application_gateway_backend_address_pool_association" "nic-assoc01" {
+ backend_address_pool_id = (known after apply)
+ id = (known after apply)
+ ip_configuration_name = "nic-ipconfig-1"
+ network_interface_id = (known after apply)
}
# azurerm_network_interface_application_gateway_backend_address_pool_association.nic-assoc01[1] will be created
+ resource "azurerm_network_interface_application_gateway_backend_address_pool_association" "nic-assoc01" {
+ backend_address_pool_id = (known after apply)
+ id = (known after apply)
+ ip_configuration_name = "nic-ipconfig-2"
+ network_interface_id = (known after apply)
}
# azurerm_public_ip.pip1 will be created
+ resource "azurerm_public_ip" "pip1" {
+ allocation_method = "Static"
+ availability_zone = (known after apply)
+ fqdn = (known after apply)
+ id = (known after apply)
+ idle_timeout_in_minutes = 4
+ ip_address = (known after apply)
+ ip_version = "IPv4"
+ location = "eastus"
+ name = "myAGPublicIPAddress"
+ resource_group_name = "myResourceGroupAG"
+ sku = "Standard"
+ sku_tier = "Regional"
+ zones = (known after apply)
}
# azurerm_resource_group.rg1 will be created
+ resource "azurerm_resource_group" "rg1" {
+ id = (known after apply)
+ location = "eastus"
+ name = "myResourceGroupAG"
}
# azurerm_subnet.backend will be created
+ resource "azurerm_subnet" "backend" {
+ address_prefix = (known after apply)
+ address_prefixes = [
+ "10.21.1.0/24",
]
+ enforce_private_link_endpoint_network_policies = false
+ enforce_private_link_service_network_policies = false
+ id = (known after apply)
+ name = "myBackendSubnet"
+ resource_group_name = "myResourceGroupAG"
+ virtual_network_name = "myVNet"
}
# azurerm_subnet.frontend will be created
+ resource "azurerm_subnet" "frontend" {
+ address_prefix = (known after apply)
+ address_prefixes = [
+ "10.21.0.0/24",
]
+ enforce_private_link_endpoint_network_policies = false
+ enforce_private_link_service_network_policies = false
+ id = (known after apply)
+ name = "myAGSubnet"
+ resource_group_name = "myResourceGroupAG"
+ virtual_network_name = "myVNet"
}
# azurerm_virtual_machine_extension.vm-extensions[0] will be created
+ resource "azurerm_virtual_machine_extension" "vm-extensions" {
+ id = (known after apply)
+ name = "vm1-ext"
+ publisher = "Microsoft.Compute"
+ settings = jsonencode(
{
+ commandToExecute = "powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"
}
)
+ type = "CustomScriptExtension"
+ type_handler_version = "1.10"
+ virtual_machine_id = (known after apply)
}
# azurerm_virtual_machine_extension.vm-extensions[1] will be created
+ resource "azurerm_virtual_machine_extension" "vm-extensions" {
+ id = (known after apply)
+ name = "vm2-ext"
+ publisher = "Microsoft.Compute"
+ settings = jsonencode(
{
+ commandToExecute = "powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"
}
)
+ type = "CustomScriptExtension"
+ type_handler_version = "1.10"
+ virtual_machine_id = (known after apply)
}
# azurerm_virtual_network.vnet1 will be created
+ resource "azurerm_virtual_network" "vnet1" {
+ address_space = [
+ "10.21.0.0/16",
]
+ dns_servers = (known after apply)
+ guid = (known after apply)
+ id = (known after apply)
+ location = "eastus"
+ name = "myVNet"
+ resource_group_name = "myResourceGroupAG"
+ subnet = (known after apply)
+ vm_protection_enabled = false
}
# azurerm_windows_virtual_machine.vm[0] will be created
+ resource "azurerm_windows_virtual_machine" "vm" {
+ admin_password = (sensitive value)
+ admin_username = "azureadmin"
+ allow_extension_operations = true
+ computer_name = (known after apply)
+ enable_automatic_updates = true
+ extensions_time_budget = "PT1H30M"
+ hotpatching_enabled = false
+ id = (known after apply)
+ location = "eastus"
+ max_bid_price = -1
+ name = "myVM1"
+ network_interface_ids = (known after apply)
+ patch_mode = "AutomaticByOS"
+ platform_fault_domain = -1
+ priority = "Regular"
+ private_ip_address = (known after apply)
+ private_ip_addresses = (known after apply)
+ provision_vm_agent = true
+ public_ip_address = (known after apply)
+ public_ip_addresses = (known after apply)
+ resource_group_name = "myResourceGroupAG"
+ size = "Standard_DS1_v2"
+ virtual_machine_id = (known after apply)
+ zone = (known after apply)
+ os_disk {
+ caching = "ReadWrite"
+ disk_size_gb = (known after apply)
+ name = (known after apply)
+ storage_account_type = "Standard_LRS"
+ write_accelerator_enabled = false
}
+ source_image_reference {
+ offer = "WindowsServer"
+ publisher = "MicrosoftWindowsServer"
+ sku = "2019-Datacenter"
+ version = "latest"
}
}
# azurerm_windows_virtual_machine.vm[1] will be created
+ resource "azurerm_windows_virtual_machine" "vm" {
+ admin_password = (sensitive value)
+ admin_username = "azureadmin"
+ allow_extension_operations = true
+ computer_name = (known after apply)
+ enable_automatic_updates = true
+ extensions_time_budget = "PT1H30M"
+ hotpatching_enabled = false
+ id = (known after apply)
+ location = "eastus"
+ max_bid_price = -1
+ name = "myVM2"
+ network_interface_ids = (known after apply)
+ patch_mode = "AutomaticByOS"
+ platform_fault_domain = -1
+ priority = "Regular"
+ private_ip_address = (known after apply)
+ private_ip_addresses = (known after apply)
+ provision_vm_agent = true
+ public_ip_address = (known after apply)
+ public_ip_addresses = (known after apply)
+ resource_group_name = "myResourceGroupAG"
+ size = "Standard_DS1_v2"
+ virtual_machine_id = (known after apply)
+ zone = (known after apply)
+ os_disk {
+ lower = true
+ min_lower = 0
+ min_numeric = 0
+ min_special = 0
+ min_upper = 0
+ number = true
+ result = (sensitive value)
+ special = true
+ upper = true
}
Plan: 15 to add, 0 to change, 0 to destroy.
```

View File

@ -0,0 +1,23 @@
variable "backend_address_pool_name" {
default = "myBackendPool"
}
variable "frontend_port_name" {
default = "myFrontendPort"
}
variable "frontend_ip_configuration_name" {
default = "myAGIPConfig"
}
variable "http_setting_name" {
default = "myHTTPsetting"
}
variable "listener_name" {
default = "myListener"
}
variable "request_routing_rule_name" {
default = "myRoutingRule"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
location = var.resource_group_location
name = random_pet.rg_name.id
}
locals {
create_signing_cert = try(!fileexists(var.cert_path), true)
}
resource "tls_private_key" "signing_cert" {
count = local.create_signing_cert ? 1 : 0
algorithm = "RSA"
rsa_bits = 4096
}
resource "tls_self_signed_cert" "attestation" {
count = local.create_signing_cert ? 1 : 0
private_key_pem = tls_private_key.signing_cert[0].private_key_pem
validity_period_hours = 12
allowed_uses = [
"cert_signing",
]
}
resource "random_string" "attestation_suffix" {
length = 8
numeric = false
special = false
upper = false
}
resource "azurerm_attestation_provider" "corp_attestation" {
location = azurerm_resource_group.rg.location
name = "${var.attestation_provider_name}${random_string.attestation_suffix.result}"
resource_group_name = azurerm_resource_group.rg.name
policy_signing_certificate_data = try(tls_self_signed_cert.attestation[0].cert_pem, file(var.cert_path))
}

View File

@ -0,0 +1,3 @@
output "resource_group_name" {
value = azurerm_resource_group.rg.name
}

View File

@ -0,0 +1,22 @@
terraform {
required_version = ">=0.12"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>2.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
tls = {
source = "hashicorp/tls"
version = "4.0.4"
}
}
}
provider "azurerm" {
features {}
}

View File

@ -0,0 +1,21 @@
# Azure attestation provider
This template deploys an [Attestation provider](/azure/attestation/overview) on Azure.
## Terraform resource types
- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
- [azurerm_attestation_provider](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/attestation)
## Variables
| Name | Description | Default |
|-|-|-|
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg |
| `resource_group_location` | Location of the resource group. | eastus |
| `attestation_provider_name` | Name of the Attestation provider | attestationprovider007 |
## Example
To see how to run this example, see [Configure an Azure Attestation provider using Terraform](https://docs.microsoft.com/en-us/azure/developer/terraform/create-attestation-provider).

View File

@ -0,0 +1,17 @@
variable "attestation_provider_name" {
default = "attestation"
}
variable "cert_path" {
default = "~/.certs/cert.pem"
}
variable "resource_group_location" {
default = "eastus"
description = "Location of the resource group."
}
variable "resource_group_name_prefix" {
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}

View File

@ -0,0 +1,216 @@
## 29 Sep 24 02:50 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 29 Sep 24 00:11 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 27 Sep 24 06:53 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 22 Sep 24 00:12 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 18 Sep 24 03:29 UTC
Success: false
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.3
### Error
---
## 08 Sep 24 02:16 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Sep 24 02:04 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 25 Aug 24 02:09 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 18 Aug 24 02:11 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.15.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 11 Aug 24 01:52 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.14.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 04 Aug 24 01:55 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.14.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---
## 01 Aug 24 02:58 UTC
Success: true
### Versions
Terraform v1.9.3
on linux_amd64
+ provider registry.terraform.io/azure/azapi v1.14.0
+ provider registry.terraform.io/hashicorp/azurerm v2.99.0
+ provider registry.terraform.io/hashicorp/random v3.6.2
### Error
---

Some files were not shown because too many files have changed in this diff Show More