1// +build go1.13
2
3// Copyright (c) Microsoft Corporation. All rights reserved.
4// Licensed under the MIT License. See License.txt in the project root for license information.
5
6package armnetwork_test
7
8import (
9	"context"
10	"log"
11	"time"
12
13	"github.com/Azure/azure-sdk-for-go/sdk/arm/network/2020-07-01/armnetwork"
14	"github.com/Azure/azure-sdk-for-go/sdk/armcore"
15	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
16	"github.com/Azure/azure-sdk-for-go/sdk/to"
17)
18
19func ExampleVirtualNetworksClient_BeginCreateOrUpdate() {
20	cred, err := azidentity.NewDefaultAzureCredential(nil)
21	if err != nil {
22		log.Fatalf("failed to obtain a credential: %v", err)
23	}
24	client := armnetwork.NewVirtualNetworksClient(armcore.NewDefaultConnection(cred, nil), "<subscription ID>")
25	poller, err := client.BeginCreateOrUpdate(
26		context.Background(),
27		"<resource group name>",
28		"<virtual network name>",
29		armnetwork.VirtualNetwork{
30			Resource: armnetwork.Resource{
31				Name:     to.StringPtr("<virtual network name>"),
32				Location: to.StringPtr("<Azure location>"),
33			},
34			Properties: &armnetwork.VirtualNetworkPropertiesFormat{
35				AddressSpace: &armnetwork.AddressSpace{
36					AddressPrefixes: &[]string{"10.0.0.0/8"},
37				},
38			},
39		},
40		nil,
41	)
42	if err != nil {
43		log.Fatalf("failed to obtain a response: %v", err)
44	}
45	resp, err := poller.PollUntilDone(context.Background(), 30*time.Second)
46	if err != nil {
47		log.Fatalf("failed to create resource: %v", err)
48	}
49	log.Printf("virtual network ID: %v", *resp.VirtualNetwork.ID)
50}
51
52func ExampleVirtualNetworksClient_BeginCreateOrUpdate_withSubnets() {
53	cred, err := azidentity.NewDefaultAzureCredential(nil)
54	if err != nil {
55		log.Fatalf("failed to obtain a credential: %v", err)
56	}
57	client := armnetwork.NewVirtualNetworksClient(armcore.NewDefaultConnection(cred, nil), "<subscription ID>")
58	poller, err := client.BeginCreateOrUpdate(
59		context.Background(),
60		"<resource group name>",
61		"<virtual network name>",
62		armnetwork.VirtualNetwork{
63			Resource: armnetwork.Resource{
64				Name:     to.StringPtr("<virtual network name>"),
65				Location: to.StringPtr("<Azure location>"),
66			},
67			Properties: &armnetwork.VirtualNetworkPropertiesFormat{
68				AddressSpace: &armnetwork.AddressSpace{
69					AddressPrefixes: &[]string{"10.0.0.0/8"},
70				},
71				Subnets: &[]armnetwork.Subnet{
72					{
73						Name: to.StringPtr("<subnet name 1>"),
74						Properties: &armnetwork.SubnetPropertiesFormat{
75							AddressPrefix: to.StringPtr("10.0.0.0/16"),
76						},
77					},
78					{
79						Name: to.StringPtr("<subnet name 2>"),
80						Properties: &armnetwork.SubnetPropertiesFormat{
81							AddressPrefix: to.StringPtr("10.1.0.0/16"),
82						},
83					},
84				},
85			},
86		},
87		nil,
88	)
89	if err != nil {
90		log.Fatalf("failed to obtain a response: %v", err)
91	}
92	resp, err := poller.PollUntilDone(context.Background(), 30*time.Second)
93	if err != nil {
94		log.Fatalf("failed to create resource: %v", err)
95	}
96	log.Printf("virtual network ID: %v", *resp.VirtualNetwork.ID)
97}
98
99func ExampleVirtualNetworksClient_Get() {
100	cred, err := azidentity.NewDefaultAzureCredential(nil)
101	if err != nil {
102		log.Fatalf("failed to obtain a credential: %v", err)
103	}
104	client := armnetwork.NewVirtualNetworksClient(armcore.NewDefaultConnection(cred, nil), "<subscription ID>")
105	resp, err := client.Get(context.Background(), "<resource group name>", "<virtual network name>", nil)
106	if err != nil {
107		log.Fatalf("failed to get resource: %v", err)
108	}
109	log.Printf("virtual network ID: %v", *resp.VirtualNetwork.ID)
110}
111
112func ExampleVirtualNetworksClient_BeginDelete() {
113	cred, err := azidentity.NewDefaultAzureCredential(nil)
114	if err != nil {
115		log.Fatalf("failed to obtain a credential: %v", err)
116	}
117	client := armnetwork.NewVirtualNetworksClient(armcore.NewDefaultConnection(cred, nil), "<subscription ID>")
118	resp, err := client.BeginDelete(context.Background(), "<resource group name>", "<virtual network name>", nil)
119	if err != nil {
120		log.Fatalf("failed to obtain a response: %v", err)
121	}
122	_, err = resp.PollUntilDone(context.Background(), 30*time.Second)
123	if err != nil {
124		log.Fatalf("failed to delete resource: %v", err)
125	}
126}
127