@ -2,7 +2,6 @@ package arm
import (
"encoding/json"
"fmt"
"math"
"net/http"
"net/url"
@ -19,17 +18,13 @@ import (
"github.com/Azure/go-autorest/autorest/adal"
"github.com/Azure/go-autorest/autorest/azure"
"github.com/hashicorp/packer/builder/azure/common"
"github.com/hashicorp/packer/ version "
"github.com/hashicorp/packer/ helper/useragent "
)
const (
EnvPackerLogAzureMaxLen = "PACKER_LOG_AZURE_MAXLEN"
)
var (
packerUserAgent = fmt . Sprintf ( ";packer/%s" , version . FormattedVersion ( ) )
)
type AzureClient struct {
storage . BlobStorageClient
resources . DeploymentsClient
@ -137,67 +132,67 @@ func NewAzureClient(subscriptionID, resourceGroupName, storageAccountName string
azureClient . DeploymentsClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . DeploymentsClient . RequestInspector = withInspection ( maxlen )
azureClient . DeploymentsClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . DeploymentsClient . UserAgent += packerUserAgent
azureClient . DeploymentsClient . UserAgent = useragent . String ( )
azureClient . DeploymentOperationsClient = resources . NewDeploymentOperationsClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . DeploymentOperationsClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . DeploymentOperationsClient . RequestInspector = withInspection ( maxlen )
azureClient . DeploymentOperationsClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . DeploymentOperationsClient . UserAgent += packerUserAgent
azureClient . DeploymentOperationsClient . UserAgent = useragent . String ( )
azureClient . DisksClient = disk . NewDisksClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . DisksClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . DisksClient . RequestInspector = withInspection ( maxlen )
azureClient . DisksClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . DisksClient . UserAgent += packerUserAgent
azureClient . DisksClient . UserAgent = useragent . String ( )
azureClient . GroupsClient = resources . NewGroupsClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . GroupsClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . GroupsClient . RequestInspector = withInspection ( maxlen )
azureClient . GroupsClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . GroupsClient . UserAgent += packerUserAgent
azureClient . GroupsClient . UserAgent = useragent . String ( )
azureClient . ImagesClient = compute . NewImagesClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . ImagesClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . ImagesClient . RequestInspector = withInspection ( maxlen )
azureClient . ImagesClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . ImagesClient . UserAgent += packerUserAgent
azureClient . ImagesClient . UserAgent = useragent . String ( )
azureClient . InterfacesClient = network . NewInterfacesClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . InterfacesClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . InterfacesClient . RequestInspector = withInspection ( maxlen )
azureClient . InterfacesClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . InterfacesClient . UserAgent += packerUserAgent
azureClient . InterfacesClient . UserAgent = useragent . String ( )
azureClient . SubnetsClient = network . NewSubnetsClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . SubnetsClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . SubnetsClient . RequestInspector = withInspection ( maxlen )
azureClient . SubnetsClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . SubnetsClient . UserAgent += packerUserAgent
azureClient . SubnetsClient . UserAgent = useragent . String ( )
azureClient . VirtualNetworksClient = network . NewVirtualNetworksClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . VirtualNetworksClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . VirtualNetworksClient . RequestInspector = withInspection ( maxlen )
azureClient . VirtualNetworksClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . VirtualNetworksClient . UserAgent += packerUserAgent
azureClient . VirtualNetworksClient . UserAgent = useragent . String ( )
azureClient . PublicIPAddressesClient = network . NewPublicIPAddressesClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . PublicIPAddressesClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . PublicIPAddressesClient . RequestInspector = withInspection ( maxlen )
azureClient . PublicIPAddressesClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . PublicIPAddressesClient . UserAgent += packerUserAgent
azureClient . PublicIPAddressesClient . UserAgent = useragent . String ( )
azureClient . VirtualMachinesClient = compute . NewVirtualMachinesClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . VirtualMachinesClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . VirtualMachinesClient . RequestInspector = withInspection ( maxlen )
azureClient . VirtualMachinesClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , templateCapture ( azureClient ) , errorCapture ( azureClient ) )
azureClient . VirtualMachinesClient . UserAgent += packerUserAgent
azureClient . VirtualMachinesClient . UserAgent = useragent . String ( )
azureClient . AccountsClient = armStorage . NewAccountsClientWithBaseURI ( cloud . ResourceManagerEndpoint , subscriptionID )
azureClient . AccountsClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . AccountsClient . RequestInspector = withInspection ( maxlen )
azureClient . AccountsClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . AccountsClient . UserAgent += packerUserAgent
azureClient . AccountsClient . UserAgent = useragent . String ( )
keyVaultURL , err := url . Parse ( cloud . KeyVaultEndpoint )
if err != nil {
@ -208,7 +203,7 @@ func NewAzureClient(subscriptionID, resourceGroupName, storageAccountName string
azureClient . VaultClient . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalTokenVault )
azureClient . VaultClient . RequestInspector = withInspection ( maxlen )
azureClient . VaultClient . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . VaultClient . UserAgent += packerUserAgent
azureClient . VaultClient . UserAgent = useragent . String ( )
// TODO(boumenot) - SDK still does not have a full KeyVault client.
// There are two ways that KeyVault has to be accessed, and each one has their own SPN. An authenticated SPN
@ -222,7 +217,7 @@ func NewAzureClient(subscriptionID, resourceGroupName, storageAccountName string
azureClient . VaultClientDelete . Authorizer = autorest . NewBearerAuthorizer ( servicePrincipalToken )
azureClient . VaultClientDelete . RequestInspector = withInspection ( maxlen )
azureClient . VaultClientDelete . ResponseInspector = byConcatDecorators ( byInspecting ( maxlen ) , errorCapture ( azureClient ) )
azureClient . VaultClientDelete . UserAgent += packerUserAgent
azureClient . VaultClientDelete . UserAgent = useragent . String ( )
// If this is a managed disk build, this should be ignored.
if resourceGroupName != "" && storageAccountName != "" {