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/armcore"
14	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
15	"github.com/Azure/azure-sdk-for-go/sdk/network/armnetwork"
16	"github.com/Azure/azure-sdk-for-go/sdk/to"
17)
18
19func ExamplePublicIPAddressesClient_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.NewPublicIPAddressesClient(armcore.NewDefaultConnection(cred, nil), "<subscription ID>")
25	poller, err := client.BeginCreateOrUpdate(
26		context.Background(),
27		"<resource group name>",
28		"<IP name>",
29		armnetwork.PublicIPAddress{
30			Resource: armnetwork.Resource{
31				Name:     to.StringPtr("<IP name>"),
32				Location: to.StringPtr("<Azure location>"),
33			},
34			Properties: &armnetwork.PublicIPAddressPropertiesFormat{
35				PublicIPAddressVersion:   armnetwork.IPVersionIPv4.ToPtr(),
36				PublicIPAllocationMethod: armnetwork.IPAllocationMethodStatic.ToPtr(),
37			},
38		},
39		nil,
40	)
41	if err != nil {
42		log.Fatalf("failed to obtain a response: %v", err)
43	}
44	resp, err := poller.PollUntilDone(context.Background(), 30*time.Second)
45	if err != nil {
46		log.Fatalf("failed to create resource: %v", err)
47	}
48	log.Printf("public IP address ID: %v", *resp.PublicIPAddress.ID)
49}
50
51func ExamplePublicIPAddressesClient_Get() {
52	cred, err := azidentity.NewDefaultAzureCredential(nil)
53	if err != nil {
54		log.Fatalf("failed to obtain a credential: %v", err)
55	}
56	client := armnetwork.NewPublicIPAddressesClient(armcore.NewDefaultConnection(cred, nil), "<subscription ID>")
57	resp, err := client.Get(context.Background(), "<resource group name>", "<IP name>", nil)
58	if err != nil {
59		log.Fatalf("failed to get resource: %v", err)
60	}
61	log.Printf("public IP address ID: %v", *resp.PublicIPAddress.ID)
62}
63
64func ExamplePublicIPAddressesClient_BeginDelete() {
65	cred, err := azidentity.NewDefaultAzureCredential(nil)
66	if err != nil {
67		log.Fatalf("failed to obtain a credential: %v", err)
68	}
69	client := armnetwork.NewPublicIPAddressesClient(armcore.NewDefaultConnection(cred, nil), "<subscription ID>")
70	resp, err := client.BeginDelete(context.Background(), "<resource group name>", "<IP name>", nil)
71	if err != nil {
72		log.Fatalf("failed to obtain a response: %v", err)
73	}
74	_, err = resp.PollUntilDone(context.Background(), 30*time.Second)
75	if err != nil {
76		log.Fatalf("failed to delete resource: %v", err)
77	}
78}
79