Skip to content

Commit c7f2b60

Browse files
committed
wip
1 parent 9bb53e5 commit c7f2b60

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+4540
-36832
lines changed

examples/main.tf

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,14 @@ terraform {
99

1010
provider "iterative" {}
1111

12-
resource "iterative_machine" "machine" {
12+
/* resource "iterative_machine" "machine-aws" {
13+
driver = "aws"
1314
region = "us-west"
14-
instance_type = "m" //fallback to known instance type
15+
instance_type = "t2.micro" //fallback to known instance type
16+
} */
17+
18+
resource "iterative_machine" "machine-azure" {
19+
driver = "azure"
20+
region = "us-west"
21+
instance_type = "m"
1522
}

iterative/aws/provider.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,11 @@ func ResourceMachineCreate(ctx context.Context, d *schema.ResourceData, m interf
200200

201201
d.SetId(instanceID)
202202
d.Set("instance_id", instanceID)
203-
d.Set("key_name", pairName)
204-
205-
d.Set("instance_name", instanceName)
206203
d.Set("instance_ip", instanceDesc.PublicIpAddress)
207204
d.Set("instance_launch_time", instanceDesc.LaunchTime.Format(time.RFC3339))
208205

206+
d.Set("key_name", pairName)
207+
209208
return diags
210209
}
211210

iterative/azure/provider.go

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77

88
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-07-01/compute"
99
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-11-01/network"
10-
"github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-05-01/resources"
10+
"github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-06-01/resources"
1111
"github.com/Azure/go-autorest/autorest/azure/auth"
1212
"github.com/Azure/go-autorest/autorest/to"
1313

@@ -31,6 +31,11 @@ func ResourceMachineCreate(ctx context.Context, d *schema.ResourceData, m interf
3131
sku := "18.04-LTS"
3232
version := "latest"
3333

34+
//publisher := "NVIDIA-GPU"
35+
//offer := "GPU"
36+
//sku := "Cloud-Image"
37+
//version := "2020.06.29"
38+
3439
gpName := vmName + "-sg"
3540
nsgName := vmName + "-nsg"
3641
vnetName := vmName + "-vnet"
@@ -267,10 +272,7 @@ func ResourceMachineCreate(ctx context.Context, d *schema.ResourceData, m interf
267272
}
268273

269274
d.SetId(gpName)
270-
d.Set("instance_id", gpName)
271-
//d.Set("key_name", pairName)
272-
273-
//d.Set("instance_name", instanceName)
275+
d.Set("instance_id", vmName)
274276
d.Set("instance_ip", ip.IPAddress)
275277
//d.Set("instance_launch_time", vm.)
276278

@@ -282,26 +284,9 @@ func ResourceMachineDelete(ctx context.Context, d *schema.ResourceData, m interf
282284
var diags diag.Diagnostics
283285

284286
subscriptionID := os.Getenv("AZURE_SUBSCRIPTION_ID")
285-
286-
//vmName := ""
287-
//ipName := ""
288-
289-
//getIPClient(subscriptionID).Delete(ctx, gpName, ipName)
290-
//_, err = getNsgClient().Delete(ctx, gpName, nsgName)
291-
292-
/*
293-
vmClient, _ := getVMClient(subscriptionID)
294-
_, err := vmClient.Deallocate(ctx, gpName, vmName)
295-
if err != nil {
296-
diags = append(diags, diag.Diagnostic{
297-
Severity: diag.Error,
298-
Summary: fmt.Sprintf("cannot deallocate vm: %v", err),
299-
})
300-
}
301-
*/
302-
303287
groupsClient, err := getGroupsClient(subscriptionID)
304-
_, err = groupsClient.Delete(ctx, d.Id())
288+
_, err = groupsClient.Delete(context.Background(), d.Id())
289+
//err = future.WaitForCompletionRef(ctx, groupsClient.Client)
305290
if err != nil {
306291
diags = append(diags, diag.Diagnostic{
307292
Severity: diag.Error,

iterative/resource_machine.go

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package iterative
22

33
import (
44
"context"
5+
"fmt"
56

7+
"terraform-provider-iterative/iterative/aws"
68
"terraform-provider-iterative/iterative/azure"
79
"terraform-provider-iterative/iterative/utils"
810

@@ -18,6 +20,11 @@ func resourceMachine() *schema.Resource {
1820
ReadContext: resourceMachineRead,
1921
UpdateContext: resourceMachineUpdate,
2022
Schema: map[string]*schema.Schema{
23+
"driver": &schema.Schema{
24+
Type: schema.TypeString,
25+
Required: true,
26+
ForceNew: true,
27+
},
2128
"region": &schema.Schema{
2229
Type: schema.TypeString,
2330
Optional: true,
@@ -99,6 +106,8 @@ func resourceMachine() *schema.Resource {
99106
}
100107

101108
func resourceMachineCreate(ctx2 context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
109+
var diags diag.Diagnostics
110+
102111
ctx := context.Background()
103112
keyPublic := d.Get("key_public").(string)
104113
//keyPrivate := d.Get("key_private").(string)
@@ -119,13 +128,33 @@ func resourceMachineCreate(ctx2 context.Context, d *schema.ResourceData, m inter
119128
d.Set("instance_name", instanceName)
120129
}
121130

122-
return azure.ResourceMachineCreate(ctx, d, m)
123-
//return aws.ResourceMachineCreate(ctx, d, m)
131+
driver := d.Get("driver").(string)
132+
if driver == "aws" {
133+
return aws.ResourceMachineCreate(ctx, d, m)
134+
}
135+
136+
if driver == "azure" {
137+
return azure.ResourceMachineCreate(ctx, d, m)
138+
}
139+
140+
diags = append(diags, diag.Diagnostic{
141+
Severity: diag.Error,
142+
Summary: fmt.Sprintf("Unknown provider: %s", driver),
143+
})
144+
return diags
124145
}
125146

126147
func resourceMachineDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
127-
return azure.ResourceMachineCreate(ctx, d, m)
128-
//return aws.ResourceMachineDelete(ctx, d, m)
148+
driver := d.Get("driver").(string)
149+
if driver == "aws" {
150+
return aws.ResourceMachineDelete(ctx, d, m)
151+
}
152+
153+
if driver == "azure" {
154+
return azure.ResourceMachineDelete(ctx, d, m)
155+
}
156+
157+
return nil
129158
}
130159

131160
func resourceMachineRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {

vendor/github.com/Azure/azure-sdk-for-go/services/network/mgmt/2017-09-01/network/CHANGELOG.md

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)