Skip to content

Commit 805113c

Browse files
author
Nicholas M. Iodice
authored
Fix out of date documentation and examples + Fix some typos in resources (#320)
* Fixing *.tf files in repo * Updating documentation for data sources * Fixing main README.md example * Add reference to resource docs from main readme * fixed resource documentation * Fixing dockerhub docs * removing helper script * Fixing more docs and a typo
1 parent 3de8239 commit 805113c

24 files changed

+193
-292
lines changed

.azdo/main.tf

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,21 @@ resource "azuredevops_project" "project" {
1212
}
1313

1414
resource "azuredevops_serviceendpoint_github" "github_serviceendpoint" {
15-
project_id = azuredevops_project.project.id
16-
service_endpoint_name = "GitHub Service Connection"
17-
authorization {
18-
scheme = "PersonalAccessToken"
15+
project_id = azuredevops_project.project.id
16+
service_endpoint_name = "GitHub Service Connection"
17+
18+
auth_personal {
19+
# personalAccessToken = "..." Or set with `AZDO_GITHUB_SERVICE_CONNECTION_PAT` env var
1920
}
2021
}
2122

2223
resource "azuredevops_serviceendpoint_dockerhub" "dockerhub_serviceendpoint" {
23-
project_id = azuredevops_project.project.id
24-
service_endpoint_name = "DockerHub Service Connection"
24+
project_id = azuredevops_project.project.id
25+
service_endpoint_name = "DockerHub Service Connection"
26+
27+
# docker_username = "..." - Or set with `AZDO_DOCKERHUB_SERVICE_CONNECTION_USERNAME` env var
28+
# docker_email = "..." - Or set with `AZDO_DOCKERHUB_SERVICE_CONNECTION_EMAIL` env var
29+
# docker_password = "..." - Or set with `AZDO_DOCKERHUB_SERVICE_CONNECTION_PASSWORD` env var
2530
}
2631

2732
resource "azuredevops_build_definition" "nightly_build" {
@@ -31,6 +36,7 @@ resource "azuredevops_build_definition" "nightly_build" {
3136

3237
repository {
3338
repo_type = "GitHub"
39+
repo_id = "microsoft/terraform-provider-azuredevops"
3440
repo_name = "microsoft/terraform-provider-azuredevops"
3541
branch_name = "master"
3642
yml_path = ".azdo/azure-pipeline-nightly.yml"

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66
The AzureRM Provider supports Terraform 0.12.x and later.
77

88
* [Terraform Website](https://www.terraform.io)
9-
* [AzDO Website](https://azure.microsoft.com/en-us/services/devops/)
10-
* [AzDO Provider Documentation](website/docs/index.html.markdown)
11-
* [AzDO Provider Usage Examples](./examples/)
9+
* [Azure DevOps Website](https://azure.microsoft.com/en-us/services/devops/)
10+
* [Provider Documentation](./website/docs/index.html.markdown)
11+
* [Resources Documentation](./website/docs/r/)
12+
* [Data Sources Documentation](./website/docs/d/)
13+
* [Usage Examples](./examples/)
1214
* [Gitter Channel](https://gitter.im/terraform-provider-azuredevops/community)
1315

1416
## Usage Example
@@ -26,7 +28,7 @@ resource "azuredevops_project" "project" {
2628
description = "All of my awesomee things"
2729
}
2830
29-
resource "azuredevops_azure_git_repository" "repository" {
31+
resource "azuredevops_git_repository" "repository" {
3032
project_id = azuredevops_project.project.id
3133
name = "My Awesome Repo"
3234
initialization {
@@ -41,8 +43,9 @@ resource "azuredevops_build_definition" "build_definition" {
4143
4244
repository {
4345
repo_type = "TfsGit"
44-
repo_name = azuredevops_azure_git_repository.repository.name
45-
branch_name = azuredevops_azure_git_repository.repository.default_branch
46+
repo_id = azuredevops_git_repository.repository.id
47+
repo_name = azuredevops_git_repository.repository.name
48+
branch_name = azuredevops_git_repository.repository.default_branch
4649
yml_path = "azure-pipelines.yml"
4750
}
4851
}

azuredevops/resource_serviceendpoint_github.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ func resourceServiceEndpointGitHub() *schema.Resource {
3838
MinItems: 1,
3939
MaxItems: 1,
4040
Elem: authPersonal,
41-
ConflictsWith: []string{"auth_oath"},
41+
ConflictsWith: []string{"auth_oauth"},
4242
}
4343

44-
r.Schema["auth_oath"] = &schema.Schema{
44+
r.Schema["auth_oauth"] = &schema.Schema{
4545
Type: schema.TypeSet,
4646
Optional: true,
4747
MinItems: 1,
@@ -113,7 +113,7 @@ func expandServiceEndpointGitHub(d *schema.ResourceData) (*serviceendpoint.Servi
113113

114114
parameters := &map[string]string{}
115115
authPersonal := expandAuthPersonalSet(d.Get("auth_personal").(*schema.Set))
116-
authGrant := expandAuthOauthSet(d.Get("auth_oath").(*schema.Set))
116+
authGrant := expandAuthOauthSet(d.Get("auth_oauth").(*schema.Set))
117117

118118
if authPersonal != nil {
119119
scheme = "PersonalAccessToken"
@@ -139,7 +139,7 @@ func expandServiceEndpointGitHub(d *schema.ResourceData) (*serviceendpoint.Servi
139139
func flattenServiceEndpointGitHub(d *schema.ResourceData, serviceEndpoint *serviceendpoint.ServiceEndpoint, projectID *string) {
140140
crud.DoBaseFlattening(d, serviceEndpoint, projectID)
141141
if strings.EqualFold(*serviceEndpoint.Authorization.Scheme, "OAuth") {
142-
d.Set("auth_oath", &[]map[string]interface{}{
142+
d.Set("auth_oauth", &[]map[string]interface{}{
143143
{
144144
"oauth_configuration_id": (*serviceEndpoint.Authorization.Parameters)["ConfigurationId"],
145145
},

examples/azdo-based-cicd/main.tf

Lines changed: 41 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ data "azuredevops_group" "group" {
2323

2424
resource "azuredevops_user_entitlement" "users" {
2525
for_each = toset(var.aad_users)
26-
principal_name = "${each.value}"
26+
principal_name = each.value
2727
account_license_type = "stakeholder"
2828
}
2929

@@ -42,17 +42,16 @@ resource "azuredevops_build_definition" "build" {
4242

4343
repository {
4444
repo_type = "TfsGit"
45+
repo_id = azuredevops_git_repository.repository.id
4546
repo_name = azuredevops_git_repository.repository.name
4647
branch_name = azuredevops_git_repository.repository.default_branch
4748
yml_path = "azure-pipelines.yml"
4849
}
4950

50-
# https://github.com/microsoft/terraform-provider-azuredevops/issues/171
51-
# variables_groups = [azuredevops_variable_group.vg.id]
51+
variable_groups = [azuredevops_variable_group.vg.id]
5252
}
5353

5454
// This section configures an Azure DevOps Variable Group
55-
# https://github.com/microsoft/terraform-provider-azuredevops/issues/170
5655
resource "azuredevops_variable_group" "vg" {
5756
project_id = azuredevops_project.project.id
5857
name = "Sample VG 1"
@@ -66,12 +65,12 @@ resource "azuredevops_variable_group" "vg" {
6665
}
6766

6867
variable {
69-
name = "key2"
70-
value = "value2"
68+
name = "key2"
69+
value = "value2"
7170
}
7271

7372
variable {
74-
name = "key3"
73+
name = "key3"
7574
}
7675
}
7776

@@ -86,54 +85,55 @@ resource "azuredevops_git_repository" "repository" {
8685

8786
// Configuration of AzureRm service end point
8887
resource "azuredevops_serviceendpoint_azurerm" "endpoint1" {
89-
project_id = azuredevops_project.project.id
90-
service_endpoint_name = "TestServiceAzureRM"
91-
azurerm_spn_clientid = "ee7f75a0-8553-4e6a-xxxx-xxxxxxxx"
92-
azurerm_spn_clientsecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
88+
project_id = azuredevops_project.project.id
89+
service_endpoint_name = "TestServiceAzureRM"
90+
credentials {
91+
serviceprincipalid = "ee7f75a0-8553-4e6a-xxxx-xxxxxxxx"
92+
serviceprincipalkey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
93+
}
9394
azurerm_spn_tenantid = "2e3a33f9-66b1-4xxx-xxxx-xxxxxxxxx"
9495
azurerm_subscription_id = "8a7aace5-xxxx-xxxx-xxxx-xxxxxxxxxx"
9596
azurerm_subscription_name = "Microsoft Azure DEMO"
96-
azurerm_scope = "/subscriptions/1da42ac9-xxxx-xxxxx-xxxx-xxxxxxxxxxx"
9797
}
9898

9999
resource "azuredevops_serviceendpoint_bitbucket" "bitbucket_account" {
100-
project_id = "vanilla-sky"
101-
username = "xxxx"
102-
password = "xxxx"
103-
service_endpoint_name = "test-bitbucket"
104-
description = "test"
100+
project_id = "vanilla-sky"
101+
username = "xxxx"
102+
password = "xxxx"
103+
service_endpoint_name = "test-bitbucket"
104+
description = "test"
105105
}
106106

107107
resource "azuredevops_resource_authorization" "bitbucket_account_authorization" {
108-
project_id = azuredevops_project.project.id
108+
project_id = azuredevops_project.project.id
109109
resource_id = azuredevops_serviceendpoint_bitbucket.bitbucket_account.id
110-
authorized = true
110+
authorized = true
111111
}
112112

113-
resource "azuredevops_serviceendpoint_kubernetes" "serviceendpoint" {
114-
project_id = azuredevops_project.project.id
115-
service_endpoint_name = "Sample Kubernetes"
116-
apiserver_url = "https://sample-kubernetes-cluster.hcp.westeurope.azmk8s.io"
117-
authorization_type = "AzureSubscription"
113+
resource "azuredevops_serviceendpoint_kubernetes" "kubeendpoint1" {
114+
project_id = azuredevops_project.project.id
115+
service_endpoint_name = "Sample Kubernetes"
116+
apiserver_url = "https://sample-kubernetes-cluster.hcp.westeurope.azmk8s.io"
117+
authorization_type = "AzureSubscription"
118118

119119
azure_subscription {
120-
subscription_id = "8a7aace5-xxxx-xxxx-xxxx-xxxxxxxxxx"
120+
subscription_id = "1c020621-d7a3-457d-b0cc-5d8e6e12d4e6" # a fake GUID
121121
subscription_name = "Microsoft Azure DEMO"
122-
tenant_id = "2e3a33f9-66b1-4xxx-xxxx-xxxxxxxxx"
123-
resourcegroup_id = "sample-rg"
124-
namespace = "default"
125-
cluster_name = "sample-aks"
122+
tenant_id = "e46643be-eb78-472f-9780-e01d8190ba10" # a fake GUID
123+
resourcegroup_id = "sample-rg"
124+
namespace = "default"
125+
cluster_name = "sample-aks"
126126
}
127127
}
128128

129-
resource "azuredevops_serviceendpoint_kubernetes" "serviceendpoint" {
130-
project_id = azuredevops_project.project.id
131-
service_endpoint_name = "Sample Kubernetes"
132-
apiserver_url = "https://sample-aks.hcp.westeurope.azmk8s.io"
133-
authorization_type = "Kubeconfig"
129+
resource "azuredevops_serviceendpoint_kubernetes" "kubeendpoint2" {
130+
project_id = azuredevops_project.project.id
131+
service_endpoint_name = "Sample Kubernetes"
132+
apiserver_url = "https://sample-aks.hcp.westeurope.azmk8s.io"
133+
authorization_type = "Kubeconfig"
134134

135135
kubeconfig {
136-
kube_config = <<EOT
136+
kube_config = <<EOT
137137
apiVersion: v1
138138
clusters:
139139
- cluster:
@@ -156,67 +156,18 @@ resource "azuredevops_serviceendpoint_kubernetes" "serviceendpoint" {
156156
client-key: fake-key-file
157157
EOT
158158
accept_untrusted_certs = true
159-
cluster_context = "dev-frontend"
159+
cluster_context = "dev-frontend"
160160
}
161161
}
162162

163163
resource "azuredevops_serviceendpoint_kubernetes" "serviceendpoint" {
164-
project_id = azuredevops_project.project.id
165-
service_endpoint_name = "Sample Kubernetes"
166-
apiserver_url = "https://sample-kubernetes-cluster.hcp.westeurope.azmk8s.io"
167-
authorization_type = "ServiceAccount"
164+
project_id = azuredevops_project.project.id
165+
service_endpoint_name = "Sample Kubernetes"
166+
apiserver_url = "https://sample-kubernetes-cluster.hcp.westeurope.azmk8s.io"
167+
authorization_type = "ServiceAccount"
168168

169169
service_account {
170-
token = "bXktYXBw[...]K8bPxc2uQ=="
170+
token = "bXktYXBw[...]K8bPxc2uQ=="
171171
ca_cert = "Mzk1MjgkdmRnN0pi[...]mHHRUH14gw4Q=="
172172
}
173173
}
174-
175-
#
176-
# https://github.com/microsoft/terraform-provider-azuredevops/issues/83
177-
# resource "azuredevops_policy_build" "p1" {
178-
# scope {
179-
# repository_id = azuredevops_git_repository.repository.id
180-
# repository_ref = azuredevops_git_repository.repository.default_branch
181-
# match_type = "Exact"
182-
# }
183-
# settings {
184-
# build_definition_id = azuredevops_build_definition.build.id
185-
# queue_on_source_update = true
186-
# }
187-
# }
188-
# resource "azuredevops_policy_min_reviewers" "p1" {
189-
# scope {
190-
# repository_id = azuredevops_git_repository.repository.id
191-
# repository_ref = azuredevops_git_repository.repository.default_branch
192-
# match_type = "Exact"
193-
# }
194-
# settings {
195-
# reviewer_count = 2
196-
# submitter_can_vote = false
197-
# }
198-
# }
199-
200-
201-
// This section configures service connections to Azure and ACR
202-
#
203-
# https://github.com/microsoft/terraform-provider-azuredevops/issues/3
204-
# resource "azuredevops_serviceendpoint_azurerm" "arm" {
205-
# project_id = azuredevops_project.project.id
206-
# service_endpoint_name = "Sample ARM Service Connection"
207-
208-
# configuration = {
209-
# service_principal_username = "..."
210-
# service_principal_password = "..."
211-
# subscription_id = "..."
212-
# tenant_id = "..."
213-
# }
214-
# }
215-
# resource "azuredevops_serviceendpoint_acr" "acr" {
216-
# project_id = azuredevops_project.project.id
217-
# service_endpoint_name = "Sample ACR Service Connection"
218-
219-
# configuration = {
220-
# ...
221-
# }
222-
# }

examples/azdo-based-cicd/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
variable "aad_users" {
22
description = "A list of AAD user emails that will be granted access to the provisioned project. These are assumed to be part of an AAD group linked to the AzDO org. eg [\"shanw_cicoria@microsoft.com\"]"
3-
type = list(string)
3+
type = list(string)
44
}

examples/github-based-cicd-simple/main.tf

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ resource "azuredevops_project" "project" {
1515
}
1616

1717
resource "azuredevops_serviceendpoint_github" "github_serviceendpoint" {
18-
project_id = azuredevops_project.project.id
19-
service_endpoint_name = "GitHub Service Connection"
20-
authorization {
21-
scheme = "PersonalAccessToken"
18+
project_id = azuredevops_project.project.id
19+
service_endpoint_name = "GitHub Service Connection"
20+
auth_personal {
21+
# personalAccessToken = "..." Or set with `AZDO_GITHUB_SERVICE_CONNECTION_PAT` env var
2222
}
2323
}
2424

@@ -30,6 +30,7 @@ resource "azuredevops_build_definition" "nightly_build" {
3030

3131
repository {
3232
repo_type = "GitHub"
33+
repo_id = "microsoft/terraform-provider-azuredevops"
3334
repo_name = "microsoft/terraform-provider-azuredevops"
3435
branch_name = "master"
3536
yml_path = ".azdo/azure-pipeline-nightly.yml"

0 commit comments

Comments
 (0)