github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/provider/azure/deployments.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package azure 5 6 import ( 7 stdcontext "context" 8 9 "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-05-01/resources" 10 "github.com/juju/errors" 11 12 "github.com/juju/juju/environs/context" 13 "github.com/juju/juju/provider/azure/internal/armtemplates" 14 "github.com/juju/juju/provider/azure/internal/errorutils" 15 ) 16 17 func createDeployment( 18 ctx context.ProviderCallContext, 19 client resources.DeploymentsClient, 20 resourceGroup string, 21 deploymentName string, 22 t armtemplates.Template, 23 ) error { 24 templateMap, err := t.Map() 25 if err != nil { 26 return errors.Trace(err) 27 } 28 deployment := resources.Deployment{ 29 Properties: &resources.DeploymentProperties{ 30 Template: &templateMap, 31 Mode: resources.Incremental, 32 }, 33 } 34 sdkCtx := stdcontext.Background() 35 _, err = client.CreateOrUpdate( 36 sdkCtx, 37 resourceGroup, 38 deploymentName, 39 deployment, 40 ) 41 if err != nil { 42 return errorutils.HandleCredentialError(errors.Annotatef(err, "creating deployment %q", deploymentName), ctx) 43 } 44 return nil 45 }