Blame vendor/github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-05-01/resources/models.go

Packit 63bb0d
package resources
Packit 63bb0d
Packit 63bb0d
// Copyright (c) Microsoft and contributors.  All rights reserved.
Packit 63bb0d
//
Packit 63bb0d
// Licensed under the Apache License, Version 2.0 (the "License");
Packit 63bb0d
// you may not use this file except in compliance with the License.
Packit 63bb0d
// You may obtain a copy of the License at
Packit 63bb0d
// http://www.apache.org/licenses/LICENSE-2.0
Packit 63bb0d
//
Packit 63bb0d
// Unless required by applicable law or agreed to in writing, software
Packit 63bb0d
// distributed under the License is distributed on an "AS IS" BASIS,
Packit 63bb0d
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit 63bb0d
//
Packit 63bb0d
// See the License for the specific language governing permissions and
Packit 63bb0d
// limitations under the License.
Packit 63bb0d
//
Packit 63bb0d
// Code generated by Microsoft (R) AutoRest Code Generator.
Packit 63bb0d
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
Packit 63bb0d
Packit 63bb0d
import (
Packit 63bb0d
	"context"
Packit 63bb0d
	"encoding/json"
Packit 63bb0d
	"github.com/Azure/go-autorest/autorest"
Packit 63bb0d
	"github.com/Azure/go-autorest/autorest/azure"
Packit 63bb0d
	"github.com/Azure/go-autorest/autorest/date"
Packit 63bb0d
	"github.com/Azure/go-autorest/autorest/to"
Packit 63bb0d
	"github.com/Azure/go-autorest/tracing"
Packit 63bb0d
	"net/http"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
// The package's fully qualified name.
Packit 63bb0d
const fqdn = "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-05-01/resources"
Packit 63bb0d
Packit 63bb0d
// DeploymentMode enumerates the values for deployment mode.
Packit 63bb0d
type DeploymentMode string
Packit 63bb0d
Packit 63bb0d
const (
Packit 63bb0d
	// Complete ...
Packit 63bb0d
	Complete DeploymentMode = "Complete"
Packit 63bb0d
	// Incremental ...
Packit 63bb0d
	Incremental DeploymentMode = "Incremental"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
// PossibleDeploymentModeValues returns an array of possible values for the DeploymentMode const type.
Packit 63bb0d
func PossibleDeploymentModeValues() []DeploymentMode {
Packit 63bb0d
	return []DeploymentMode{Complete, Incremental}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// OnErrorDeploymentType enumerates the values for on error deployment type.
Packit 63bb0d
type OnErrorDeploymentType string
Packit 63bb0d
Packit 63bb0d
const (
Packit 63bb0d
	// LastSuccessful ...
Packit 63bb0d
	LastSuccessful OnErrorDeploymentType = "LastSuccessful"
Packit 63bb0d
	// SpecificDeployment ...
Packit 63bb0d
	SpecificDeployment OnErrorDeploymentType = "SpecificDeployment"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
// PossibleOnErrorDeploymentTypeValues returns an array of possible values for the OnErrorDeploymentType const type.
Packit 63bb0d
func PossibleOnErrorDeploymentTypeValues() []OnErrorDeploymentType {
Packit 63bb0d
	return []OnErrorDeploymentType{LastSuccessful, SpecificDeployment}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ResourceIdentityType enumerates the values for resource identity type.
Packit 63bb0d
type ResourceIdentityType string
Packit 63bb0d
Packit 63bb0d
const (
Packit 63bb0d
	// None ...
Packit 63bb0d
	None ResourceIdentityType = "None"
Packit 63bb0d
	// SystemAssigned ...
Packit 63bb0d
	SystemAssigned ResourceIdentityType = "SystemAssigned"
Packit 63bb0d
	// SystemAssignedUserAssigned ...
Packit 63bb0d
	SystemAssignedUserAssigned ResourceIdentityType = "SystemAssigned, UserAssigned"
Packit 63bb0d
	// UserAssigned ...
Packit 63bb0d
	UserAssigned ResourceIdentityType = "UserAssigned"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type.
Packit 63bb0d
func PossibleResourceIdentityTypeValues() []ResourceIdentityType {
Packit 63bb0d
	return []ResourceIdentityType{None, SystemAssigned, SystemAssignedUserAssigned, UserAssigned}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// AliasPathType the type of the paths for alias.
Packit 63bb0d
type AliasPathType struct {
Packit 63bb0d
	// Path - The path of an alias.
Packit 63bb0d
	Path *string `json:"path,omitempty"`
Packit 63bb0d
	// APIVersions - The API versions.
Packit 63bb0d
	APIVersions *[]string `json:"apiVersions,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// AliasType the alias type.
Packit 63bb0d
type AliasType struct {
Packit 63bb0d
	// Name - The alias name.
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Paths - The paths for an alias.
Packit 63bb0d
	Paths *[]AliasPathType `json:"paths,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// BasicDependency deployment dependency information.
Packit 63bb0d
type BasicDependency struct {
Packit 63bb0d
	// ID - The ID of the dependency.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// ResourceType - The dependency resource type.
Packit 63bb0d
	ResourceType *string `json:"resourceType,omitempty"`
Packit 63bb0d
	// ResourceName - The dependency resource name.
Packit 63bb0d
	ResourceName *string `json:"resourceName,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// CloudError an error response for a resource management request.
Packit 63bb0d
type CloudError struct {
Packit 63bb0d
	Error *ErrorResponse `json:"error,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// CreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running
Packit 63bb0d
// operation.
Packit 63bb0d
type CreateOrUpdateByIDFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *CreateOrUpdateByIDFuture) Result(client Client) (gr GenericResource, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.CreateOrUpdateByIDFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.CreateOrUpdateByIDFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
Packit 63bb0d
	if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent {
Packit 63bb0d
		gr, err = client.CreateOrUpdateByIDResponder(gr.Response.Response)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			err = autorest.NewErrorWithError(err, "resources.CreateOrUpdateByIDFuture", "Result", gr.Response.Response, "Failure responding to request")
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// CreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running
Packit 63bb0d
// operation.
Packit 63bb0d
type CreateOrUpdateFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *CreateOrUpdateFuture) Result(client Client) (gr GenericResource, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.CreateOrUpdateFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.CreateOrUpdateFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
Packit 63bb0d
	if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent {
Packit 63bb0d
		gr, err = client.CreateOrUpdateResponder(gr.Response.Response)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			err = autorest.NewErrorWithError(err, "resources.CreateOrUpdateFuture", "Result", gr.Response.Response, "Failure responding to request")
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DebugSetting the debug setting.
Packit 63bb0d
type DebugSetting struct {
Packit 63bb0d
	// DetailLevel - Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations.
Packit 63bb0d
	DetailLevel *string `json:"detailLevel,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeleteByIDFuture an abstraction for monitoring and retrieving the results of a long-running operation.
Packit 63bb0d
type DeleteByIDFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeleteByIDFuture) Result(client Client) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeleteByIDFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeleteByIDFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation.
Packit 63bb0d
type DeleteFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeleteFuture) Result(client Client) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeleteFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeleteFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Dependency deployment dependency information.
Packit 63bb0d
type Dependency struct {
Packit 63bb0d
	// DependsOn - The list of dependencies.
Packit 63bb0d
	DependsOn *[]BasicDependency `json:"dependsOn,omitempty"`
Packit 63bb0d
	// ID - The ID of the dependency.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// ResourceType - The dependency resource type.
Packit 63bb0d
	ResourceType *string `json:"resourceType,omitempty"`
Packit 63bb0d
	// ResourceName - The dependency resource name.
Packit 63bb0d
	ResourceName *string `json:"resourceName,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Deployment deployment operation parameters.
Packit 63bb0d
type Deployment struct {
Packit 63bb0d
	// Location - The location to store the deployment data.
Packit 63bb0d
	Location *string `json:"location,omitempty"`
Packit 63bb0d
	// Properties - The deployment properties.
Packit 63bb0d
	Properties *DeploymentProperties `json:"properties,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentExportResult the deployment export result.
Packit 63bb0d
type DeploymentExportResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Template - The template content.
Packit 63bb0d
	Template interface{} `json:"template,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentExtended deployment information.
Packit 63bb0d
type DeploymentExtended struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// ID - READ-ONLY; The ID of the deployment.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// Name - READ-ONLY; The name of the deployment.
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Type - READ-ONLY; The type of the deployment.
Packit 63bb0d
	Type *string `json:"type,omitempty"`
Packit 63bb0d
	// Location - the location of the deployment.
Packit 63bb0d
	Location *string `json:"location,omitempty"`
Packit 63bb0d
	// Properties - Deployment properties.
Packit 63bb0d
	Properties *DeploymentPropertiesExtended `json:"properties,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentExtendedFilter deployment filter.
Packit 63bb0d
type DeploymentExtendedFilter struct {
Packit 63bb0d
	// ProvisioningState - The provisioning state.
Packit 63bb0d
	ProvisioningState *string `json:"provisioningState,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentListResult list of deployments.
Packit 63bb0d
type DeploymentListResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Value - An array of deployments.
Packit 63bb0d
	Value *[]DeploymentExtended `json:"value,omitempty"`
Packit 63bb0d
	// NextLink - READ-ONLY; The URL to use for getting the next set of results.
Packit 63bb0d
	NextLink *string `json:"nextLink,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentListResultIterator provides access to a complete listing of DeploymentExtended values.
Packit 63bb0d
type DeploymentListResultIterator struct {
Packit 63bb0d
	i    int
Packit 63bb0d
	page DeploymentListResultPage
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
func (iter *DeploymentListResultIterator) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentListResultIterator.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if iter.Response().Response.Response != nil {
Packit 63bb0d
				sc = iter.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	iter.i++
Packit 63bb0d
	if iter.i < len(iter.page.Values()) {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	err = iter.page.NextWithContext(ctx)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		iter.i--
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	iter.i = 0
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (iter *DeploymentListResultIterator) Next() error {
Packit 63bb0d
	return iter.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the enumeration should be started or is not yet complete.
Packit 63bb0d
func (iter DeploymentListResultIterator) NotDone() bool {
Packit 63bb0d
	return iter.page.NotDone() && iter.i < len(iter.page.Values())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (iter DeploymentListResultIterator) Response() DeploymentListResult {
Packit 63bb0d
	return iter.page.Response()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Value returns the current value or a zero-initialized value if the
Packit 63bb0d
// iterator has advanced beyond the end of the collection.
Packit 63bb0d
func (iter DeploymentListResultIterator) Value() DeploymentExtended {
Packit 63bb0d
	if !iter.page.NotDone() {
Packit 63bb0d
		return DeploymentExtended{}
Packit 63bb0d
	}
Packit 63bb0d
	return iter.page.Values()[iter.i]
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the DeploymentListResultIterator type.
Packit 63bb0d
func NewDeploymentListResultIterator(page DeploymentListResultPage) DeploymentListResultIterator {
Packit 63bb0d
	return DeploymentListResultIterator{page: page}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IsEmpty returns true if the ListResult contains no values.
Packit 63bb0d
func (dlr DeploymentListResult) IsEmpty() bool {
Packit 63bb0d
	return dlr.Value == nil || len(*dlr.Value) == 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// deploymentListResultPreparer prepares a request to retrieve the next set of results.
Packit 63bb0d
// It returns nil if no more results exist.
Packit 63bb0d
func (dlr DeploymentListResult) deploymentListResultPreparer(ctx context.Context) (*http.Request, error) {
Packit 63bb0d
	if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 {
Packit 63bb0d
		return nil, nil
Packit 63bb0d
	}
Packit 63bb0d
	return autorest.Prepare((&http.Request{}).WithContext(ctx),
Packit 63bb0d
		autorest.AsJSON(),
Packit 63bb0d
		autorest.AsGet(),
Packit 63bb0d
		autorest.WithBaseURL(to.String(dlr.NextLink)))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentListResultPage contains a page of DeploymentExtended values.
Packit 63bb0d
type DeploymentListResultPage struct {
Packit 63bb0d
	fn  func(context.Context, DeploymentListResult) (DeploymentListResult, error)
Packit 63bb0d
	dlr DeploymentListResult
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
func (page *DeploymentListResultPage) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentListResultPage.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if page.Response().Response.Response != nil {
Packit 63bb0d
				sc = page.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	next, err := page.fn(ctx, page.dlr)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	page.dlr = next
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (page *DeploymentListResultPage) Next() error {
Packit 63bb0d
	return page.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the page enumeration should be started or is not yet complete.
Packit 63bb0d
func (page DeploymentListResultPage) NotDone() bool {
Packit 63bb0d
	return !page.dlr.IsEmpty()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (page DeploymentListResultPage) Response() DeploymentListResult {
Packit 63bb0d
	return page.dlr
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Values returns the slice of values for the current page or nil if there are no values.
Packit 63bb0d
func (page DeploymentListResultPage) Values() []DeploymentExtended {
Packit 63bb0d
	if page.dlr.IsEmpty() {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	return *page.dlr.Value
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the DeploymentListResultPage type.
Packit 63bb0d
func NewDeploymentListResultPage(getNextPage func(context.Context, DeploymentListResult) (DeploymentListResult, error)) DeploymentListResultPage {
Packit 63bb0d
	return DeploymentListResultPage{fn: getNextPage}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentOperation deployment operation information.
Packit 63bb0d
type DeploymentOperation struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// ID - READ-ONLY; Full deployment operation ID.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// OperationID - READ-ONLY; Deployment operation ID.
Packit 63bb0d
	OperationID *string `json:"operationId,omitempty"`
Packit 63bb0d
	// Properties - Deployment properties.
Packit 63bb0d
	Properties *DeploymentOperationProperties `json:"properties,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentOperationProperties deployment operation properties.
Packit 63bb0d
type DeploymentOperationProperties struct {
Packit 63bb0d
	// ProvisioningState - READ-ONLY; The state of the provisioning.
Packit 63bb0d
	ProvisioningState *string `json:"provisioningState,omitempty"`
Packit 63bb0d
	// Timestamp - READ-ONLY; The date and time of the operation.
Packit 63bb0d
	Timestamp *date.Time `json:"timestamp,omitempty"`
Packit 63bb0d
	// Duration - READ-ONLY; The duration of the operation.
Packit 63bb0d
	Duration *string `json:"duration,omitempty"`
Packit 63bb0d
	// ServiceRequestID - READ-ONLY; Deployment operation service request id.
Packit 63bb0d
	ServiceRequestID *string `json:"serviceRequestId,omitempty"`
Packit 63bb0d
	// StatusCode - READ-ONLY; Operation status code.
Packit 63bb0d
	StatusCode *string `json:"statusCode,omitempty"`
Packit 63bb0d
	// StatusMessage - READ-ONLY; Operation status message.
Packit 63bb0d
	StatusMessage interface{} `json:"statusMessage,omitempty"`
Packit 63bb0d
	// TargetResource - READ-ONLY; The target resource.
Packit 63bb0d
	TargetResource *TargetResource `json:"targetResource,omitempty"`
Packit 63bb0d
	// Request - READ-ONLY; The HTTP request message.
Packit 63bb0d
	Request *HTTPMessage `json:"request,omitempty"`
Packit 63bb0d
	// Response - READ-ONLY; The HTTP response message.
Packit 63bb0d
	Response *HTTPMessage `json:"response,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentOperationsListResult list of deployment operations.
Packit 63bb0d
type DeploymentOperationsListResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Value - An array of deployment operations.
Packit 63bb0d
	Value *[]DeploymentOperation `json:"value,omitempty"`
Packit 63bb0d
	// NextLink - READ-ONLY; The URL to use for getting the next set of results.
Packit 63bb0d
	NextLink *string `json:"nextLink,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentOperationsListResultIterator provides access to a complete listing of DeploymentOperation
Packit 63bb0d
// values.
Packit 63bb0d
type DeploymentOperationsListResultIterator struct {
Packit 63bb0d
	i    int
Packit 63bb0d
	page DeploymentOperationsListResultPage
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
func (iter *DeploymentOperationsListResultIterator) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsListResultIterator.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if iter.Response().Response.Response != nil {
Packit 63bb0d
				sc = iter.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	iter.i++
Packit 63bb0d
	if iter.i < len(iter.page.Values()) {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	err = iter.page.NextWithContext(ctx)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		iter.i--
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	iter.i = 0
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (iter *DeploymentOperationsListResultIterator) Next() error {
Packit 63bb0d
	return iter.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the enumeration should be started or is not yet complete.
Packit 63bb0d
func (iter DeploymentOperationsListResultIterator) NotDone() bool {
Packit 63bb0d
	return iter.page.NotDone() && iter.i < len(iter.page.Values())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (iter DeploymentOperationsListResultIterator) Response() DeploymentOperationsListResult {
Packit 63bb0d
	return iter.page.Response()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Value returns the current value or a zero-initialized value if the
Packit 63bb0d
// iterator has advanced beyond the end of the collection.
Packit 63bb0d
func (iter DeploymentOperationsListResultIterator) Value() DeploymentOperation {
Packit 63bb0d
	if !iter.page.NotDone() {
Packit 63bb0d
		return DeploymentOperation{}
Packit 63bb0d
	}
Packit 63bb0d
	return iter.page.Values()[iter.i]
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the DeploymentOperationsListResultIterator type.
Packit 63bb0d
func NewDeploymentOperationsListResultIterator(page DeploymentOperationsListResultPage) DeploymentOperationsListResultIterator {
Packit 63bb0d
	return DeploymentOperationsListResultIterator{page: page}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IsEmpty returns true if the ListResult contains no values.
Packit 63bb0d
func (dolr DeploymentOperationsListResult) IsEmpty() bool {
Packit 63bb0d
	return dolr.Value == nil || len(*dolr.Value) == 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// deploymentOperationsListResultPreparer prepares a request to retrieve the next set of results.
Packit 63bb0d
// It returns nil if no more results exist.
Packit 63bb0d
func (dolr DeploymentOperationsListResult) deploymentOperationsListResultPreparer(ctx context.Context) (*http.Request, error) {
Packit 63bb0d
	if dolr.NextLink == nil || len(to.String(dolr.NextLink)) < 1 {
Packit 63bb0d
		return nil, nil
Packit 63bb0d
	}
Packit 63bb0d
	return autorest.Prepare((&http.Request{}).WithContext(ctx),
Packit 63bb0d
		autorest.AsJSON(),
Packit 63bb0d
		autorest.AsGet(),
Packit 63bb0d
		autorest.WithBaseURL(to.String(dolr.NextLink)))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentOperationsListResultPage contains a page of DeploymentOperation values.
Packit 63bb0d
type DeploymentOperationsListResultPage struct {
Packit 63bb0d
	fn   func(context.Context, DeploymentOperationsListResult) (DeploymentOperationsListResult, error)
Packit 63bb0d
	dolr DeploymentOperationsListResult
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
func (page *DeploymentOperationsListResultPage) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsListResultPage.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if page.Response().Response.Response != nil {
Packit 63bb0d
				sc = page.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	next, err := page.fn(ctx, page.dolr)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	page.dolr = next
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (page *DeploymentOperationsListResultPage) Next() error {
Packit 63bb0d
	return page.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the page enumeration should be started or is not yet complete.
Packit 63bb0d
func (page DeploymentOperationsListResultPage) NotDone() bool {
Packit 63bb0d
	return !page.dolr.IsEmpty()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (page DeploymentOperationsListResultPage) Response() DeploymentOperationsListResult {
Packit 63bb0d
	return page.dolr
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Values returns the slice of values for the current page or nil if there are no values.
Packit 63bb0d
func (page DeploymentOperationsListResultPage) Values() []DeploymentOperation {
Packit 63bb0d
	if page.dolr.IsEmpty() {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	return *page.dolr.Value
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the DeploymentOperationsListResultPage type.
Packit 63bb0d
func NewDeploymentOperationsListResultPage(getNextPage func(context.Context, DeploymentOperationsListResult) (DeploymentOperationsListResult, error)) DeploymentOperationsListResultPage {
Packit 63bb0d
	return DeploymentOperationsListResultPage{fn: getNextPage}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentProperties deployment properties.
Packit 63bb0d
type DeploymentProperties struct {
Packit 63bb0d
	// Template - The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both.
Packit 63bb0d
	Template interface{} `json:"template,omitempty"`
Packit 63bb0d
	// TemplateLink - The URI of the template. Use either the templateLink property or the template property, but not both.
Packit 63bb0d
	TemplateLink *TemplateLink `json:"templateLink,omitempty"`
Packit 63bb0d
	// Parameters - Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string.
Packit 63bb0d
	Parameters interface{} `json:"parameters,omitempty"`
Packit 63bb0d
	// ParametersLink - The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both.
Packit 63bb0d
	ParametersLink *ParametersLink `json:"parametersLink,omitempty"`
Packit 63bb0d
	// Mode - The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources. Possible values include: 'Incremental', 'Complete'
Packit 63bb0d
	Mode DeploymentMode `json:"mode,omitempty"`
Packit 63bb0d
	// DebugSetting - The debug setting of the deployment.
Packit 63bb0d
	DebugSetting *DebugSetting `json:"debugSetting,omitempty"`
Packit 63bb0d
	// OnErrorDeployment - The deployment on error behavior.
Packit 63bb0d
	OnErrorDeployment *OnErrorDeployment `json:"onErrorDeployment,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentPropertiesExtended deployment properties with additional details.
Packit 63bb0d
type DeploymentPropertiesExtended struct {
Packit 63bb0d
	// ProvisioningState - READ-ONLY; The state of the provisioning.
Packit 63bb0d
	ProvisioningState *string `json:"provisioningState,omitempty"`
Packit 63bb0d
	// CorrelationID - READ-ONLY; The correlation ID of the deployment.
Packit 63bb0d
	CorrelationID *string `json:"correlationId,omitempty"`
Packit 63bb0d
	// Timestamp - READ-ONLY; The timestamp of the template deployment.
Packit 63bb0d
	Timestamp *date.Time `json:"timestamp,omitempty"`
Packit 63bb0d
	// Duration - READ-ONLY; The duration of the template deployment.
Packit 63bb0d
	Duration *string `json:"duration,omitempty"`
Packit 63bb0d
	// Outputs - Key/value pairs that represent deployment output.
Packit 63bb0d
	Outputs interface{} `json:"outputs,omitempty"`
Packit 63bb0d
	// Providers - The list of resource providers needed for the deployment.
Packit 63bb0d
	Providers *[]Provider `json:"providers,omitempty"`
Packit 63bb0d
	// Dependencies - The list of deployment dependencies.
Packit 63bb0d
	Dependencies *[]Dependency `json:"dependencies,omitempty"`
Packit 63bb0d
	// Template - The template content. Use only one of Template or TemplateLink.
Packit 63bb0d
	Template interface{} `json:"template,omitempty"`
Packit 63bb0d
	// TemplateLink - The URI referencing the template. Use only one of Template or TemplateLink.
Packit 63bb0d
	TemplateLink *TemplateLink `json:"templateLink,omitempty"`
Packit 63bb0d
	// Parameters - Deployment parameters. Use only one of Parameters or ParametersLink.
Packit 63bb0d
	Parameters interface{} `json:"parameters,omitempty"`
Packit 63bb0d
	// ParametersLink - The URI referencing the parameters. Use only one of Parameters or ParametersLink.
Packit 63bb0d
	ParametersLink *ParametersLink `json:"parametersLink,omitempty"`
Packit 63bb0d
	// Mode - The deployment mode. Possible values are Incremental and Complete. Possible values include: 'Incremental', 'Complete'
Packit 63bb0d
	Mode DeploymentMode `json:"mode,omitempty"`
Packit 63bb0d
	// DebugSetting - The debug setting of the deployment.
Packit 63bb0d
	DebugSetting *DebugSetting `json:"debugSetting,omitempty"`
Packit 63bb0d
	// OnErrorDeployment - The deployment on error behavior.
Packit 63bb0d
	OnErrorDeployment *OnErrorDeploymentExtended `json:"onErrorDeployment,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentsCreateOrUpdateAtManagementGroupScopeFuture an abstraction for monitoring and retrieving the
Packit 63bb0d
// results of a long-running operation.
Packit 63bb0d
type DeploymentsCreateOrUpdateAtManagementGroupScopeFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeploymentsCreateOrUpdateAtManagementGroupScopeFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
Packit 63bb0d
	if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent {
Packit 63bb0d
		de, err = client.CreateOrUpdateAtManagementGroupScopeResponder(de.Response.Response)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			err = autorest.NewErrorWithError(err, "resources.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture", "Result", de.Response.Response, "Failure responding to request")
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentsCreateOrUpdateAtSubscriptionScopeFuture an abstraction for monitoring and retrieving the
Packit 63bb0d
// results of a long-running operation.
Packit 63bb0d
type DeploymentsCreateOrUpdateAtSubscriptionScopeFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeploymentsCreateOrUpdateAtSubscriptionScopeFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
Packit 63bb0d
	if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent {
Packit 63bb0d
		de, err = client.CreateOrUpdateAtSubscriptionScopeResponder(de.Response.Response)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			err = autorest.NewErrorWithError(err, "resources.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture", "Result", de.Response.Response, "Failure responding to request")
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a
Packit 63bb0d
// long-running operation.
Packit 63bb0d
type DeploymentsCreateOrUpdateFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeploymentsCreateOrUpdateFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeploymentsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeploymentsCreateOrUpdateFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
Packit 63bb0d
	if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent {
Packit 63bb0d
		de, err = client.CreateOrUpdateResponder(de.Response.Response)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			err = autorest.NewErrorWithError(err, "resources.DeploymentsCreateOrUpdateFuture", "Result", de.Response.Response, "Failure responding to request")
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentsDeleteAtManagementGroupScopeFuture an abstraction for monitoring and retrieving the results
Packit 63bb0d
// of a long-running operation.
Packit 63bb0d
type DeploymentsDeleteAtManagementGroupScopeFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeploymentsDeleteAtManagementGroupScopeFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeploymentsDeleteAtManagementGroupScopeFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtManagementGroupScopeFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentsDeleteAtSubscriptionScopeFuture an abstraction for monitoring and retrieving the results of a
Packit 63bb0d
// long-running operation.
Packit 63bb0d
type DeploymentsDeleteAtSubscriptionScopeFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeploymentsDeleteAtSubscriptionScopeFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeploymentsDeleteAtSubscriptionScopeFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteAtSubscriptionScopeFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running
Packit 63bb0d
// operation.
Packit 63bb0d
type DeploymentsDeleteFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *DeploymentsDeleteFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.DeploymentsDeleteFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.DeploymentsDeleteFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// DeploymentValidateResult information from validate template deployment response.
Packit 63bb0d
type DeploymentValidateResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Error - Validation error.
Packit 63bb0d
	Error *ManagementErrorWithDetails `json:"error,omitempty"`
Packit 63bb0d
	// Properties - The template deployment properties.
Packit 63bb0d
	Properties *DeploymentPropertiesExtended `json:"properties,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ErrorAdditionalInfo the resource management error additional info.
Packit 63bb0d
type ErrorAdditionalInfo struct {
Packit 63bb0d
	// Type - READ-ONLY; The additional info type.
Packit 63bb0d
	Type *string `json:"type,omitempty"`
Packit 63bb0d
	// Info - READ-ONLY; The additional info.
Packit 63bb0d
	Info interface{} `json:"info,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ErrorResponse the resource management error response.
Packit 63bb0d
type ErrorResponse struct {
Packit 63bb0d
	// Code - READ-ONLY; The error code.
Packit 63bb0d
	Code *string `json:"code,omitempty"`
Packit 63bb0d
	// Message - READ-ONLY; The error message.
Packit 63bb0d
	Message *string `json:"message,omitempty"`
Packit 63bb0d
	// Target - READ-ONLY; The error target.
Packit 63bb0d
	Target *string `json:"target,omitempty"`
Packit 63bb0d
	// Details - READ-ONLY; The error details.
Packit 63bb0d
	Details *[]ErrorResponse `json:"details,omitempty"`
Packit 63bb0d
	// AdditionalInfo - READ-ONLY; The error additional info.
Packit 63bb0d
	AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ExportTemplateRequest export resource group template request parameters.
Packit 63bb0d
type ExportTemplateRequest struct {
Packit 63bb0d
	// ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'.
Packit 63bb0d
	ResourcesProperty *[]string `json:"resources,omitempty"`
Packit 63bb0d
	// Options - The export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization'
Packit 63bb0d
	Options *string `json:"options,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GenericResource resource information.
Packit 63bb0d
type GenericResource struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Plan - The plan of the resource.
Packit 63bb0d
	Plan *Plan `json:"plan,omitempty"`
Packit 63bb0d
	// Properties - The resource properties.
Packit 63bb0d
	Properties interface{} `json:"properties,omitempty"`
Packit 63bb0d
	// Kind - The kind of the resource.
Packit 63bb0d
	Kind *string `json:"kind,omitempty"`
Packit 63bb0d
	// ManagedBy - ID of the resource that manages this resource.
Packit 63bb0d
	ManagedBy *string `json:"managedBy,omitempty"`
Packit 63bb0d
	// Sku - The SKU of the resource.
Packit 63bb0d
	Sku *Sku `json:"sku,omitempty"`
Packit 63bb0d
	// Identity - The identity of the resource.
Packit 63bb0d
	Identity *Identity `json:"identity,omitempty"`
Packit 63bb0d
	// ID - READ-ONLY; Resource ID
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// Name - READ-ONLY; Resource name
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Type - READ-ONLY; Resource type
Packit 63bb0d
	Type *string `json:"type,omitempty"`
Packit 63bb0d
	// Location - Resource location
Packit 63bb0d
	Location *string `json:"location,omitempty"`
Packit 63bb0d
	// Tags - Resource tags
Packit 63bb0d
	Tags map[string]*string `json:"tags"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MarshalJSON is the custom marshaler for GenericResource.
Packit 63bb0d
func (gr GenericResource) MarshalJSON() ([]byte, error) {
Packit 63bb0d
	objectMap := make(map[string]interface{})
Packit 63bb0d
	if gr.Plan != nil {
Packit 63bb0d
		objectMap["plan"] = gr.Plan
Packit 63bb0d
	}
Packit 63bb0d
	if gr.Properties != nil {
Packit 63bb0d
		objectMap["properties"] = gr.Properties
Packit 63bb0d
	}
Packit 63bb0d
	if gr.Kind != nil {
Packit 63bb0d
		objectMap["kind"] = gr.Kind
Packit 63bb0d
	}
Packit 63bb0d
	if gr.ManagedBy != nil {
Packit 63bb0d
		objectMap["managedBy"] = gr.ManagedBy
Packit 63bb0d
	}
Packit 63bb0d
	if gr.Sku != nil {
Packit 63bb0d
		objectMap["sku"] = gr.Sku
Packit 63bb0d
	}
Packit 63bb0d
	if gr.Identity != nil {
Packit 63bb0d
		objectMap["identity"] = gr.Identity
Packit 63bb0d
	}
Packit 63bb0d
	if gr.Location != nil {
Packit 63bb0d
		objectMap["location"] = gr.Location
Packit 63bb0d
	}
Packit 63bb0d
	if gr.Tags != nil {
Packit 63bb0d
		objectMap["tags"] = gr.Tags
Packit 63bb0d
	}
Packit 63bb0d
	return json.Marshal(objectMap)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GenericResourceExpanded resource information.
Packit 63bb0d
type GenericResourceExpanded struct {
Packit 63bb0d
	// CreatedTime - READ-ONLY; The created time of the resource. This is only present if requested via the $expand query parameter.
Packit 63bb0d
	CreatedTime *date.Time `json:"createdTime,omitempty"`
Packit 63bb0d
	// ChangedTime - READ-ONLY; The changed time of the resource. This is only present if requested via the $expand query parameter.
Packit 63bb0d
	ChangedTime *date.Time `json:"changedTime,omitempty"`
Packit 63bb0d
	// ProvisioningState - READ-ONLY; The provisioning state of the resource. This is only present if requested via the $expand query parameter.
Packit 63bb0d
	ProvisioningState *string `json:"provisioningState,omitempty"`
Packit 63bb0d
	// Plan - The plan of the resource.
Packit 63bb0d
	Plan *Plan `json:"plan,omitempty"`
Packit 63bb0d
	// Properties - The resource properties.
Packit 63bb0d
	Properties interface{} `json:"properties,omitempty"`
Packit 63bb0d
	// Kind - The kind of the resource.
Packit 63bb0d
	Kind *string `json:"kind,omitempty"`
Packit 63bb0d
	// ManagedBy - ID of the resource that manages this resource.
Packit 63bb0d
	ManagedBy *string `json:"managedBy,omitempty"`
Packit 63bb0d
	// Sku - The SKU of the resource.
Packit 63bb0d
	Sku *Sku `json:"sku,omitempty"`
Packit 63bb0d
	// Identity - The identity of the resource.
Packit 63bb0d
	Identity *Identity `json:"identity,omitempty"`
Packit 63bb0d
	// ID - READ-ONLY; Resource ID
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// Name - READ-ONLY; Resource name
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Type - READ-ONLY; Resource type
Packit 63bb0d
	Type *string `json:"type,omitempty"`
Packit 63bb0d
	// Location - Resource location
Packit 63bb0d
	Location *string `json:"location,omitempty"`
Packit 63bb0d
	// Tags - Resource tags
Packit 63bb0d
	Tags map[string]*string `json:"tags"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MarshalJSON is the custom marshaler for GenericResourceExpanded.
Packit 63bb0d
func (gre GenericResourceExpanded) MarshalJSON() ([]byte, error) {
Packit 63bb0d
	objectMap := make(map[string]interface{})
Packit 63bb0d
	if gre.Plan != nil {
Packit 63bb0d
		objectMap["plan"] = gre.Plan
Packit 63bb0d
	}
Packit 63bb0d
	if gre.Properties != nil {
Packit 63bb0d
		objectMap["properties"] = gre.Properties
Packit 63bb0d
	}
Packit 63bb0d
	if gre.Kind != nil {
Packit 63bb0d
		objectMap["kind"] = gre.Kind
Packit 63bb0d
	}
Packit 63bb0d
	if gre.ManagedBy != nil {
Packit 63bb0d
		objectMap["managedBy"] = gre.ManagedBy
Packit 63bb0d
	}
Packit 63bb0d
	if gre.Sku != nil {
Packit 63bb0d
		objectMap["sku"] = gre.Sku
Packit 63bb0d
	}
Packit 63bb0d
	if gre.Identity != nil {
Packit 63bb0d
		objectMap["identity"] = gre.Identity
Packit 63bb0d
	}
Packit 63bb0d
	if gre.Location != nil {
Packit 63bb0d
		objectMap["location"] = gre.Location
Packit 63bb0d
	}
Packit 63bb0d
	if gre.Tags != nil {
Packit 63bb0d
		objectMap["tags"] = gre.Tags
Packit 63bb0d
	}
Packit 63bb0d
	return json.Marshal(objectMap)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GenericResourceFilter resource filter.
Packit 63bb0d
type GenericResourceFilter struct {
Packit 63bb0d
	// ResourceType - The resource type.
Packit 63bb0d
	ResourceType *string `json:"resourceType,omitempty"`
Packit 63bb0d
	// Tagname - The tag name.
Packit 63bb0d
	Tagname *string `json:"tagname,omitempty"`
Packit 63bb0d
	// Tagvalue - The tag value.
Packit 63bb0d
	Tagvalue *string `json:"tagvalue,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Group resource group information.
Packit 63bb0d
type Group struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// ID - READ-ONLY; The ID of the resource group.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// Name - READ-ONLY; The name of the resource group.
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Type - READ-ONLY; The type of the resource group.
Packit 63bb0d
	Type *string `json:"type,omitempty"`
Packit 63bb0d
	// Properties - The resource group properties.
Packit 63bb0d
	Properties *GroupProperties `json:"properties,omitempty"`
Packit 63bb0d
	// Location - The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations.
Packit 63bb0d
	Location *string `json:"location,omitempty"`
Packit 63bb0d
	// ManagedBy - The ID of the resource that manages this resource group.
Packit 63bb0d
	ManagedBy *string `json:"managedBy,omitempty"`
Packit 63bb0d
	// Tags - The tags attached to the resource group.
Packit 63bb0d
	Tags map[string]*string `json:"tags"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MarshalJSON is the custom marshaler for Group.
Packit 63bb0d
func (g Group) MarshalJSON() ([]byte, error) {
Packit 63bb0d
	objectMap := make(map[string]interface{})
Packit 63bb0d
	if g.Properties != nil {
Packit 63bb0d
		objectMap["properties"] = g.Properties
Packit 63bb0d
	}
Packit 63bb0d
	if g.Location != nil {
Packit 63bb0d
		objectMap["location"] = g.Location
Packit 63bb0d
	}
Packit 63bb0d
	if g.ManagedBy != nil {
Packit 63bb0d
		objectMap["managedBy"] = g.ManagedBy
Packit 63bb0d
	}
Packit 63bb0d
	if g.Tags != nil {
Packit 63bb0d
		objectMap["tags"] = g.Tags
Packit 63bb0d
	}
Packit 63bb0d
	return json.Marshal(objectMap)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupExportResult resource group export result.
Packit 63bb0d
type GroupExportResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Template - The template content.
Packit 63bb0d
	Template interface{} `json:"template,omitempty"`
Packit 63bb0d
	// Error - The error.
Packit 63bb0d
	Error *ManagementErrorWithDetails `json:"error,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupFilter resource group filter.
Packit 63bb0d
type GroupFilter struct {
Packit 63bb0d
	// TagName - The tag name.
Packit 63bb0d
	TagName *string `json:"tagName,omitempty"`
Packit 63bb0d
	// TagValue - The tag value.
Packit 63bb0d
	TagValue *string `json:"tagValue,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupListResult list of resource groups.
Packit 63bb0d
type GroupListResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Value - An array of resource groups.
Packit 63bb0d
	Value *[]Group `json:"value,omitempty"`
Packit 63bb0d
	// NextLink - READ-ONLY; The URL to use for getting the next set of results.
Packit 63bb0d
	NextLink *string `json:"nextLink,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupListResultIterator provides access to a complete listing of Group values.
Packit 63bb0d
type GroupListResultIterator struct {
Packit 63bb0d
	i    int
Packit 63bb0d
	page GroupListResultPage
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
func (iter *GroupListResultIterator) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/GroupListResultIterator.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if iter.Response().Response.Response != nil {
Packit 63bb0d
				sc = iter.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	iter.i++
Packit 63bb0d
	if iter.i < len(iter.page.Values()) {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	err = iter.page.NextWithContext(ctx)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		iter.i--
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	iter.i = 0
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (iter *GroupListResultIterator) Next() error {
Packit 63bb0d
	return iter.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the enumeration should be started or is not yet complete.
Packit 63bb0d
func (iter GroupListResultIterator) NotDone() bool {
Packit 63bb0d
	return iter.page.NotDone() && iter.i < len(iter.page.Values())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (iter GroupListResultIterator) Response() GroupListResult {
Packit 63bb0d
	return iter.page.Response()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Value returns the current value or a zero-initialized value if the
Packit 63bb0d
// iterator has advanced beyond the end of the collection.
Packit 63bb0d
func (iter GroupListResultIterator) Value() Group {
Packit 63bb0d
	if !iter.page.NotDone() {
Packit 63bb0d
		return Group{}
Packit 63bb0d
	}
Packit 63bb0d
	return iter.page.Values()[iter.i]
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the GroupListResultIterator type.
Packit 63bb0d
func NewGroupListResultIterator(page GroupListResultPage) GroupListResultIterator {
Packit 63bb0d
	return GroupListResultIterator{page: page}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IsEmpty returns true if the ListResult contains no values.
Packit 63bb0d
func (glr GroupListResult) IsEmpty() bool {
Packit 63bb0d
	return glr.Value == nil || len(*glr.Value) == 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// groupListResultPreparer prepares a request to retrieve the next set of results.
Packit 63bb0d
// It returns nil if no more results exist.
Packit 63bb0d
func (glr GroupListResult) groupListResultPreparer(ctx context.Context) (*http.Request, error) {
Packit 63bb0d
	if glr.NextLink == nil || len(to.String(glr.NextLink)) < 1 {
Packit 63bb0d
		return nil, nil
Packit 63bb0d
	}
Packit 63bb0d
	return autorest.Prepare((&http.Request{}).WithContext(ctx),
Packit 63bb0d
		autorest.AsJSON(),
Packit 63bb0d
		autorest.AsGet(),
Packit 63bb0d
		autorest.WithBaseURL(to.String(glr.NextLink)))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupListResultPage contains a page of Group values.
Packit 63bb0d
type GroupListResultPage struct {
Packit 63bb0d
	fn  func(context.Context, GroupListResult) (GroupListResult, error)
Packit 63bb0d
	glr GroupListResult
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
func (page *GroupListResultPage) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/GroupListResultPage.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if page.Response().Response.Response != nil {
Packit 63bb0d
				sc = page.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	next, err := page.fn(ctx, page.glr)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	page.glr = next
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (page *GroupListResultPage) Next() error {
Packit 63bb0d
	return page.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the page enumeration should be started or is not yet complete.
Packit 63bb0d
func (page GroupListResultPage) NotDone() bool {
Packit 63bb0d
	return !page.glr.IsEmpty()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (page GroupListResultPage) Response() GroupListResult {
Packit 63bb0d
	return page.glr
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Values returns the slice of values for the current page or nil if there are no values.
Packit 63bb0d
func (page GroupListResultPage) Values() []Group {
Packit 63bb0d
	if page.glr.IsEmpty() {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	return *page.glr.Value
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the GroupListResultPage type.
Packit 63bb0d
func NewGroupListResultPage(getNextPage func(context.Context, GroupListResult) (GroupListResult, error)) GroupListResultPage {
Packit 63bb0d
	return GroupListResultPage{fn: getNextPage}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupPatchable resource group information.
Packit 63bb0d
type GroupPatchable struct {
Packit 63bb0d
	// Name - The name of the resource group.
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Properties - The resource group properties.
Packit 63bb0d
	Properties *GroupProperties `json:"properties,omitempty"`
Packit 63bb0d
	// ManagedBy - The ID of the resource that manages this resource group.
Packit 63bb0d
	ManagedBy *string `json:"managedBy,omitempty"`
Packit 63bb0d
	// Tags - The tags attached to the resource group.
Packit 63bb0d
	Tags map[string]*string `json:"tags"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MarshalJSON is the custom marshaler for GroupPatchable.
Packit 63bb0d
func (gp GroupPatchable) MarshalJSON() ([]byte, error) {
Packit 63bb0d
	objectMap := make(map[string]interface{})
Packit 63bb0d
	if gp.Name != nil {
Packit 63bb0d
		objectMap["name"] = gp.Name
Packit 63bb0d
	}
Packit 63bb0d
	if gp.Properties != nil {
Packit 63bb0d
		objectMap["properties"] = gp.Properties
Packit 63bb0d
	}
Packit 63bb0d
	if gp.ManagedBy != nil {
Packit 63bb0d
		objectMap["managedBy"] = gp.ManagedBy
Packit 63bb0d
	}
Packit 63bb0d
	if gp.Tags != nil {
Packit 63bb0d
		objectMap["tags"] = gp.Tags
Packit 63bb0d
	}
Packit 63bb0d
	return json.Marshal(objectMap)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupProperties the resource group properties.
Packit 63bb0d
type GroupProperties struct {
Packit 63bb0d
	// ProvisioningState - READ-ONLY; The provisioning state.
Packit 63bb0d
	ProvisioningState *string `json:"provisioningState,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// GroupsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation.
Packit 63bb0d
type GroupsDeleteFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *GroupsDeleteFuture) Result(client GroupsClient) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.GroupsDeleteFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.GroupsDeleteFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// HTTPMessage HTTP message.
Packit 63bb0d
type HTTPMessage struct {
Packit 63bb0d
	// Content - HTTP message content.
Packit 63bb0d
	Content interface{} `json:"content,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Identity identity for the resource.
Packit 63bb0d
type Identity struct {
Packit 63bb0d
	// PrincipalID - READ-ONLY; The principal ID of resource identity.
Packit 63bb0d
	PrincipalID *string `json:"principalId,omitempty"`
Packit 63bb0d
	// TenantID - READ-ONLY; The tenant ID of resource.
Packit 63bb0d
	TenantID *string `json:"tenantId,omitempty"`
Packit 63bb0d
	// Type - The identity type. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssignedUserAssigned', 'None'
Packit 63bb0d
	Type ResourceIdentityType `json:"type,omitempty"`
Packit 63bb0d
	// UserAssignedIdentities - The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
Packit 63bb0d
	UserAssignedIdentities map[string]*IdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MarshalJSON is the custom marshaler for Identity.
Packit 63bb0d
func (i Identity) MarshalJSON() ([]byte, error) {
Packit 63bb0d
	objectMap := make(map[string]interface{})
Packit 63bb0d
	if i.Type != "" {
Packit 63bb0d
		objectMap["type"] = i.Type
Packit 63bb0d
	}
Packit 63bb0d
	if i.UserAssignedIdentities != nil {
Packit 63bb0d
		objectMap["userAssignedIdentities"] = i.UserAssignedIdentities
Packit 63bb0d
	}
Packit 63bb0d
	return json.Marshal(objectMap)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IdentityUserAssignedIdentitiesValue ...
Packit 63bb0d
type IdentityUserAssignedIdentitiesValue struct {
Packit 63bb0d
	// PrincipalID - READ-ONLY; The principal id of user assigned identity.
Packit 63bb0d
	PrincipalID *string `json:"principalId,omitempty"`
Packit 63bb0d
	// ClientID - READ-ONLY; The client id of user assigned identity.
Packit 63bb0d
	ClientID *string `json:"clientId,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ListResult list of resource groups.
Packit 63bb0d
type ListResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Value - An array of resources.
Packit 63bb0d
	Value *[]GenericResourceExpanded `json:"value,omitempty"`
Packit 63bb0d
	// NextLink - READ-ONLY; The URL to use for getting the next set of results.
Packit 63bb0d
	NextLink *string `json:"nextLink,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ListResultIterator provides access to a complete listing of GenericResourceExpanded values.
Packit 63bb0d
type ListResultIterator struct {
Packit 63bb0d
	i    int
Packit 63bb0d
	page ListResultPage
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if iter.Response().Response.Response != nil {
Packit 63bb0d
				sc = iter.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	iter.i++
Packit 63bb0d
	if iter.i < len(iter.page.Values()) {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	err = iter.page.NextWithContext(ctx)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		iter.i--
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	iter.i = 0
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (iter *ListResultIterator) Next() error {
Packit 63bb0d
	return iter.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the enumeration should be started or is not yet complete.
Packit 63bb0d
func (iter ListResultIterator) NotDone() bool {
Packit 63bb0d
	return iter.page.NotDone() && iter.i < len(iter.page.Values())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (iter ListResultIterator) Response() ListResult {
Packit 63bb0d
	return iter.page.Response()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Value returns the current value or a zero-initialized value if the
Packit 63bb0d
// iterator has advanced beyond the end of the collection.
Packit 63bb0d
func (iter ListResultIterator) Value() GenericResourceExpanded {
Packit 63bb0d
	if !iter.page.NotDone() {
Packit 63bb0d
		return GenericResourceExpanded{}
Packit 63bb0d
	}
Packit 63bb0d
	return iter.page.Values()[iter.i]
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the ListResultIterator type.
Packit 63bb0d
func NewListResultIterator(page ListResultPage) ListResultIterator {
Packit 63bb0d
	return ListResultIterator{page: page}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IsEmpty returns true if the ListResult contains no values.
Packit 63bb0d
func (lr ListResult) IsEmpty() bool {
Packit 63bb0d
	return lr.Value == nil || len(*lr.Value) == 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// listResultPreparer prepares a request to retrieve the next set of results.
Packit 63bb0d
// It returns nil if no more results exist.
Packit 63bb0d
func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) {
Packit 63bb0d
	if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 {
Packit 63bb0d
		return nil, nil
Packit 63bb0d
	}
Packit 63bb0d
	return autorest.Prepare((&http.Request{}).WithContext(ctx),
Packit 63bb0d
		autorest.AsJSON(),
Packit 63bb0d
		autorest.AsGet(),
Packit 63bb0d
		autorest.WithBaseURL(to.String(lr.NextLink)))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ListResultPage contains a page of GenericResourceExpanded values.
Packit 63bb0d
type ListResultPage struct {
Packit 63bb0d
	fn func(context.Context, ListResult) (ListResult, error)
Packit 63bb0d
	lr ListResult
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if page.Response().Response.Response != nil {
Packit 63bb0d
				sc = page.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	next, err := page.fn(ctx, page.lr)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	page.lr = next
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (page *ListResultPage) Next() error {
Packit 63bb0d
	return page.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the page enumeration should be started or is not yet complete.
Packit 63bb0d
func (page ListResultPage) NotDone() bool {
Packit 63bb0d
	return !page.lr.IsEmpty()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (page ListResultPage) Response() ListResult {
Packit 63bb0d
	return page.lr
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Values returns the slice of values for the current page or nil if there are no values.
Packit 63bb0d
func (page ListResultPage) Values() []GenericResourceExpanded {
Packit 63bb0d
	if page.lr.IsEmpty() {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	return *page.lr.Value
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the ListResultPage type.
Packit 63bb0d
func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage {
Packit 63bb0d
	return ListResultPage{fn: getNextPage}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ManagementErrorWithDetails the detailed error message of resource management.
Packit 63bb0d
type ManagementErrorWithDetails struct {
Packit 63bb0d
	// Code - READ-ONLY; The error code returned when exporting the template.
Packit 63bb0d
	Code *string `json:"code,omitempty"`
Packit 63bb0d
	// Message - READ-ONLY; The error message describing the export error.
Packit 63bb0d
	Message *string `json:"message,omitempty"`
Packit 63bb0d
	// Target - READ-ONLY; The target of the error.
Packit 63bb0d
	Target *string `json:"target,omitempty"`
Packit 63bb0d
	// Details - READ-ONLY; Validation error.
Packit 63bb0d
	Details *[]ManagementErrorWithDetails `json:"details,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MoveInfo parameters of move resources.
Packit 63bb0d
type MoveInfo struct {
Packit 63bb0d
	// ResourcesProperty - The IDs of the resources.
Packit 63bb0d
	ResourcesProperty *[]string `json:"resources,omitempty"`
Packit 63bb0d
	// TargetResourceGroup - The target resource group.
Packit 63bb0d
	TargetResourceGroup *string `json:"targetResourceGroup,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MoveResourcesFuture an abstraction for monitoring and retrieving the results of a long-running
Packit 63bb0d
// operation.
Packit 63bb0d
type MoveResourcesFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *MoveResourcesFuture) Result(client Client) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.MoveResourcesFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.MoveResourcesFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// OnErrorDeployment deployment on error behavior.
Packit 63bb0d
type OnErrorDeployment struct {
Packit 63bb0d
	// Type - The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment'
Packit 63bb0d
	Type OnErrorDeploymentType `json:"type,omitempty"`
Packit 63bb0d
	// DeploymentName - The deployment to be used on error case.
Packit 63bb0d
	DeploymentName *string `json:"deploymentName,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// OnErrorDeploymentExtended deployment on error behavior with additional details.
Packit 63bb0d
type OnErrorDeploymentExtended struct {
Packit 63bb0d
	// ProvisioningState - READ-ONLY; The state of the provisioning for the on error deployment.
Packit 63bb0d
	ProvisioningState *string `json:"provisioningState,omitempty"`
Packit 63bb0d
	// Type - The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment'
Packit 63bb0d
	Type OnErrorDeploymentType `json:"type,omitempty"`
Packit 63bb0d
	// DeploymentName - The deployment to be used on error case.
Packit 63bb0d
	DeploymentName *string `json:"deploymentName,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Operation microsoft.Resources operation
Packit 63bb0d
type Operation struct {
Packit 63bb0d
	// Name - Operation name: {provider}/{resource}/{operation}
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Display - The object that represents the operation.
Packit 63bb0d
	Display *OperationDisplay `json:"display,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// OperationDisplay the object that represents the operation.
Packit 63bb0d
type OperationDisplay struct {
Packit 63bb0d
	// Provider - Service provider: Microsoft.Resources
Packit 63bb0d
	Provider *string `json:"provider,omitempty"`
Packit 63bb0d
	// Resource - Resource on which the operation is performed: Profile, endpoint, etc.
Packit 63bb0d
	Resource *string `json:"resource,omitempty"`
Packit 63bb0d
	// Operation - Operation type: Read, write, delete, etc.
Packit 63bb0d
	Operation *string `json:"operation,omitempty"`
Packit 63bb0d
	// Description - Description of the operation.
Packit 63bb0d
	Description *string `json:"description,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// OperationListResult result of the request to list Microsoft.Resources operations. It contains a list of
Packit 63bb0d
// operations and a URL link to get the next set of results.
Packit 63bb0d
type OperationListResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Value - List of Microsoft.Resources operations.
Packit 63bb0d
	Value *[]Operation `json:"value,omitempty"`
Packit 63bb0d
	// NextLink - URL to get the next set of operation list results if there are any.
Packit 63bb0d
	NextLink *string `json:"nextLink,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// OperationListResultIterator provides access to a complete listing of Operation values.
Packit 63bb0d
type OperationListResultIterator struct {
Packit 63bb0d
	i    int
Packit 63bb0d
	page OperationListResultPage
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if iter.Response().Response.Response != nil {
Packit 63bb0d
				sc = iter.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	iter.i++
Packit 63bb0d
	if iter.i < len(iter.page.Values()) {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	err = iter.page.NextWithContext(ctx)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		iter.i--
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	iter.i = 0
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (iter *OperationListResultIterator) Next() error {
Packit 63bb0d
	return iter.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the enumeration should be started or is not yet complete.
Packit 63bb0d
func (iter OperationListResultIterator) NotDone() bool {
Packit 63bb0d
	return iter.page.NotDone() && iter.i < len(iter.page.Values())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (iter OperationListResultIterator) Response() OperationListResult {
Packit 63bb0d
	return iter.page.Response()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Value returns the current value or a zero-initialized value if the
Packit 63bb0d
// iterator has advanced beyond the end of the collection.
Packit 63bb0d
func (iter OperationListResultIterator) Value() Operation {
Packit 63bb0d
	if !iter.page.NotDone() {
Packit 63bb0d
		return Operation{}
Packit 63bb0d
	}
Packit 63bb0d
	return iter.page.Values()[iter.i]
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the OperationListResultIterator type.
Packit 63bb0d
func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator {
Packit 63bb0d
	return OperationListResultIterator{page: page}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IsEmpty returns true if the ListResult contains no values.
Packit 63bb0d
func (olr OperationListResult) IsEmpty() bool {
Packit 63bb0d
	return olr.Value == nil || len(*olr.Value) == 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// operationListResultPreparer prepares a request to retrieve the next set of results.
Packit 63bb0d
// It returns nil if no more results exist.
Packit 63bb0d
func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) {
Packit 63bb0d
	if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 {
Packit 63bb0d
		return nil, nil
Packit 63bb0d
	}
Packit 63bb0d
	return autorest.Prepare((&http.Request{}).WithContext(ctx),
Packit 63bb0d
		autorest.AsJSON(),
Packit 63bb0d
		autorest.AsGet(),
Packit 63bb0d
		autorest.WithBaseURL(to.String(olr.NextLink)))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// OperationListResultPage contains a page of Operation values.
Packit 63bb0d
type OperationListResultPage struct {
Packit 63bb0d
	fn  func(context.Context, OperationListResult) (OperationListResult, error)
Packit 63bb0d
	olr OperationListResult
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if page.Response().Response.Response != nil {
Packit 63bb0d
				sc = page.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	next, err := page.fn(ctx, page.olr)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	page.olr = next
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (page *OperationListResultPage) Next() error {
Packit 63bb0d
	return page.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the page enumeration should be started or is not yet complete.
Packit 63bb0d
func (page OperationListResultPage) NotDone() bool {
Packit 63bb0d
	return !page.olr.IsEmpty()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (page OperationListResultPage) Response() OperationListResult {
Packit 63bb0d
	return page.olr
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Values returns the slice of values for the current page or nil if there are no values.
Packit 63bb0d
func (page OperationListResultPage) Values() []Operation {
Packit 63bb0d
	if page.olr.IsEmpty() {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	return *page.olr.Value
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the OperationListResultPage type.
Packit 63bb0d
func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage {
Packit 63bb0d
	return OperationListResultPage{fn: getNextPage}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ParametersLink entity representing the reference to the deployment parameters.
Packit 63bb0d
type ParametersLink struct {
Packit 63bb0d
	// URI - The URI of the parameters file.
Packit 63bb0d
	URI *string `json:"uri,omitempty"`
Packit 63bb0d
	// ContentVersion - If included, must match the ContentVersion in the template.
Packit 63bb0d
	ContentVersion *string `json:"contentVersion,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Plan plan for the resource.
Packit 63bb0d
type Plan struct {
Packit 63bb0d
	// Name - The plan ID.
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Publisher - The publisher ID.
Packit 63bb0d
	Publisher *string `json:"publisher,omitempty"`
Packit 63bb0d
	// Product - The offer ID.
Packit 63bb0d
	Product *string `json:"product,omitempty"`
Packit 63bb0d
	// PromotionCode - The promotion code.
Packit 63bb0d
	PromotionCode *string `json:"promotionCode,omitempty"`
Packit 63bb0d
	// Version - The plan's version.
Packit 63bb0d
	Version *string `json:"version,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Provider resource provider information.
Packit 63bb0d
type Provider struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// ID - READ-ONLY; The provider ID.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// Namespace - The namespace of the resource provider.
Packit 63bb0d
	Namespace *string `json:"namespace,omitempty"`
Packit 63bb0d
	// RegistrationState - READ-ONLY; The registration state of the resource provider.
Packit 63bb0d
	RegistrationState *string `json:"registrationState,omitempty"`
Packit 63bb0d
	// RegistrationPolicy - READ-ONLY; The registration policy of the resource provider.
Packit 63bb0d
	RegistrationPolicy *string `json:"registrationPolicy,omitempty"`
Packit 63bb0d
	// ResourceTypes - READ-ONLY; The collection of provider resource types.
Packit 63bb0d
	ResourceTypes *[]ProviderResourceType `json:"resourceTypes,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ProviderListResult list of resource providers.
Packit 63bb0d
type ProviderListResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Value - An array of resource providers.
Packit 63bb0d
	Value *[]Provider `json:"value,omitempty"`
Packit 63bb0d
	// NextLink - READ-ONLY; The URL to use for getting the next set of results.
Packit 63bb0d
	NextLink *string `json:"nextLink,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ProviderListResultIterator provides access to a complete listing of Provider values.
Packit 63bb0d
type ProviderListResultIterator struct {
Packit 63bb0d
	i    int
Packit 63bb0d
	page ProviderListResultPage
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
func (iter *ProviderListResultIterator) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/ProviderListResultIterator.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if iter.Response().Response.Response != nil {
Packit 63bb0d
				sc = iter.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	iter.i++
Packit 63bb0d
	if iter.i < len(iter.page.Values()) {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	err = iter.page.NextWithContext(ctx)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		iter.i--
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	iter.i = 0
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (iter *ProviderListResultIterator) Next() error {
Packit 63bb0d
	return iter.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the enumeration should be started or is not yet complete.
Packit 63bb0d
func (iter ProviderListResultIterator) NotDone() bool {
Packit 63bb0d
	return iter.page.NotDone() && iter.i < len(iter.page.Values())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (iter ProviderListResultIterator) Response() ProviderListResult {
Packit 63bb0d
	return iter.page.Response()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Value returns the current value or a zero-initialized value if the
Packit 63bb0d
// iterator has advanced beyond the end of the collection.
Packit 63bb0d
func (iter ProviderListResultIterator) Value() Provider {
Packit 63bb0d
	if !iter.page.NotDone() {
Packit 63bb0d
		return Provider{}
Packit 63bb0d
	}
Packit 63bb0d
	return iter.page.Values()[iter.i]
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the ProviderListResultIterator type.
Packit 63bb0d
func NewProviderListResultIterator(page ProviderListResultPage) ProviderListResultIterator {
Packit 63bb0d
	return ProviderListResultIterator{page: page}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IsEmpty returns true if the ListResult contains no values.
Packit 63bb0d
func (plr ProviderListResult) IsEmpty() bool {
Packit 63bb0d
	return plr.Value == nil || len(*plr.Value) == 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// providerListResultPreparer prepares a request to retrieve the next set of results.
Packit 63bb0d
// It returns nil if no more results exist.
Packit 63bb0d
func (plr ProviderListResult) providerListResultPreparer(ctx context.Context) (*http.Request, error) {
Packit 63bb0d
	if plr.NextLink == nil || len(to.String(plr.NextLink)) < 1 {
Packit 63bb0d
		return nil, nil
Packit 63bb0d
	}
Packit 63bb0d
	return autorest.Prepare((&http.Request{}).WithContext(ctx),
Packit 63bb0d
		autorest.AsJSON(),
Packit 63bb0d
		autorest.AsGet(),
Packit 63bb0d
		autorest.WithBaseURL(to.String(plr.NextLink)))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ProviderListResultPage contains a page of Provider values.
Packit 63bb0d
type ProviderListResultPage struct {
Packit 63bb0d
	fn  func(context.Context, ProviderListResult) (ProviderListResult, error)
Packit 63bb0d
	plr ProviderListResult
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
func (page *ProviderListResultPage) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/ProviderListResultPage.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if page.Response().Response.Response != nil {
Packit 63bb0d
				sc = page.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	next, err := page.fn(ctx, page.plr)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	page.plr = next
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (page *ProviderListResultPage) Next() error {
Packit 63bb0d
	return page.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the page enumeration should be started or is not yet complete.
Packit 63bb0d
func (page ProviderListResultPage) NotDone() bool {
Packit 63bb0d
	return !page.plr.IsEmpty()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (page ProviderListResultPage) Response() ProviderListResult {
Packit 63bb0d
	return page.plr
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Values returns the slice of values for the current page or nil if there are no values.
Packit 63bb0d
func (page ProviderListResultPage) Values() []Provider {
Packit 63bb0d
	if page.plr.IsEmpty() {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	return *page.plr.Value
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the ProviderListResultPage type.
Packit 63bb0d
func NewProviderListResultPage(getNextPage func(context.Context, ProviderListResult) (ProviderListResult, error)) ProviderListResultPage {
Packit 63bb0d
	return ProviderListResultPage{fn: getNextPage}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ProviderOperationDisplayProperties resource provider operation's display properties.
Packit 63bb0d
type ProviderOperationDisplayProperties struct {
Packit 63bb0d
	// Publisher - Operation description.
Packit 63bb0d
	Publisher *string `json:"publisher,omitempty"`
Packit 63bb0d
	// Provider - Operation provider.
Packit 63bb0d
	Provider *string `json:"provider,omitempty"`
Packit 63bb0d
	// Resource - Operation resource.
Packit 63bb0d
	Resource *string `json:"resource,omitempty"`
Packit 63bb0d
	// Operation - Resource provider operation.
Packit 63bb0d
	Operation *string `json:"operation,omitempty"`
Packit 63bb0d
	// Description - Operation description.
Packit 63bb0d
	Description *string `json:"description,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ProviderResourceType resource type managed by the resource provider.
Packit 63bb0d
type ProviderResourceType struct {
Packit 63bb0d
	// ResourceType - The resource type.
Packit 63bb0d
	ResourceType *string `json:"resourceType,omitempty"`
Packit 63bb0d
	// Locations - The collection of locations where this resource type can be created.
Packit 63bb0d
	Locations *[]string `json:"locations,omitempty"`
Packit 63bb0d
	// Aliases - The aliases that are supported by this resource type.
Packit 63bb0d
	Aliases *[]AliasType `json:"aliases,omitempty"`
Packit 63bb0d
	// APIVersions - The API version.
Packit 63bb0d
	APIVersions *[]string `json:"apiVersions,omitempty"`
Packit 63bb0d
	// Capabilities - The additional capabilities offered by this resource type.
Packit 63bb0d
	Capabilities *string `json:"capabilities,omitempty"`
Packit 63bb0d
	// Properties - The properties.
Packit 63bb0d
	Properties map[string]*string `json:"properties"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MarshalJSON is the custom marshaler for ProviderResourceType.
Packit 63bb0d
func (prt ProviderResourceType) MarshalJSON() ([]byte, error) {
Packit 63bb0d
	objectMap := make(map[string]interface{})
Packit 63bb0d
	if prt.ResourceType != nil {
Packit 63bb0d
		objectMap["resourceType"] = prt.ResourceType
Packit 63bb0d
	}
Packit 63bb0d
	if prt.Locations != nil {
Packit 63bb0d
		objectMap["locations"] = prt.Locations
Packit 63bb0d
	}
Packit 63bb0d
	if prt.Aliases != nil {
Packit 63bb0d
		objectMap["aliases"] = prt.Aliases
Packit 63bb0d
	}
Packit 63bb0d
	if prt.APIVersions != nil {
Packit 63bb0d
		objectMap["apiVersions"] = prt.APIVersions
Packit 63bb0d
	}
Packit 63bb0d
	if prt.Capabilities != nil {
Packit 63bb0d
		objectMap["capabilities"] = prt.Capabilities
Packit 63bb0d
	}
Packit 63bb0d
	if prt.Properties != nil {
Packit 63bb0d
		objectMap["properties"] = prt.Properties
Packit 63bb0d
	}
Packit 63bb0d
	return json.Marshal(objectMap)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Resource specified resource.
Packit 63bb0d
type Resource struct {
Packit 63bb0d
	// ID - READ-ONLY; Resource ID
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// Name - READ-ONLY; Resource name
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Type - READ-ONLY; Resource type
Packit 63bb0d
	Type *string `json:"type,omitempty"`
Packit 63bb0d
	// Location - Resource location
Packit 63bb0d
	Location *string `json:"location,omitempty"`
Packit 63bb0d
	// Tags - Resource tags
Packit 63bb0d
	Tags map[string]*string `json:"tags"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// MarshalJSON is the custom marshaler for Resource.
Packit 63bb0d
func (r Resource) MarshalJSON() ([]byte, error) {
Packit 63bb0d
	objectMap := make(map[string]interface{})
Packit 63bb0d
	if r.Location != nil {
Packit 63bb0d
		objectMap["location"] = r.Location
Packit 63bb0d
	}
Packit 63bb0d
	if r.Tags != nil {
Packit 63bb0d
		objectMap["tags"] = r.Tags
Packit 63bb0d
	}
Packit 63bb0d
	return json.Marshal(objectMap)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Sku SKU for the resource.
Packit 63bb0d
type Sku struct {
Packit 63bb0d
	// Name - The SKU name.
Packit 63bb0d
	Name *string `json:"name,omitempty"`
Packit 63bb0d
	// Tier - The SKU tier.
Packit 63bb0d
	Tier *string `json:"tier,omitempty"`
Packit 63bb0d
	// Size - The SKU size.
Packit 63bb0d
	Size *string `json:"size,omitempty"`
Packit 63bb0d
	// Family - The SKU family.
Packit 63bb0d
	Family *string `json:"family,omitempty"`
Packit 63bb0d
	// Model - The SKU model.
Packit 63bb0d
	Model *string `json:"model,omitempty"`
Packit 63bb0d
	// Capacity - The SKU capacity.
Packit 63bb0d
	Capacity *int32 `json:"capacity,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// SubResource sub-resource.
Packit 63bb0d
type SubResource struct {
Packit 63bb0d
	// ID - Resource ID
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TagCount tag count.
Packit 63bb0d
type TagCount struct {
Packit 63bb0d
	// Type - Type of count.
Packit 63bb0d
	Type *string `json:"type,omitempty"`
Packit 63bb0d
	// Value - Value of count.
Packit 63bb0d
	Value *int32 `json:"value,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TagDetails tag details.
Packit 63bb0d
type TagDetails struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// ID - READ-ONLY; The tag ID.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// TagName - The tag name.
Packit 63bb0d
	TagName *string `json:"tagName,omitempty"`
Packit 63bb0d
	// Count - The total number of resources that use the resource tag. When a tag is initially created and has no associated resources, the value is 0.
Packit 63bb0d
	Count *TagCount `json:"count,omitempty"`
Packit 63bb0d
	// Values - The list of tag values.
Packit 63bb0d
	Values *[]TagValue `json:"values,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TagsListResult list of subscription tags.
Packit 63bb0d
type TagsListResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// Value - An array of tags.
Packit 63bb0d
	Value *[]TagDetails `json:"value,omitempty"`
Packit 63bb0d
	// NextLink - READ-ONLY; The URL to use for getting the next set of results.
Packit 63bb0d
	NextLink *string `json:"nextLink,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TagsListResultIterator provides access to a complete listing of TagDetails values.
Packit 63bb0d
type TagsListResultIterator struct {
Packit 63bb0d
	i    int
Packit 63bb0d
	page TagsListResultPage
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
func (iter *TagsListResultIterator) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/TagsListResultIterator.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if iter.Response().Response.Response != nil {
Packit 63bb0d
				sc = iter.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	iter.i++
Packit 63bb0d
	if iter.i < len(iter.page.Values()) {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	err = iter.page.NextWithContext(ctx)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		iter.i--
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	iter.i = 0
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next value.  If there was an error making
Packit 63bb0d
// the request the iterator does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (iter *TagsListResultIterator) Next() error {
Packit 63bb0d
	return iter.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the enumeration should be started or is not yet complete.
Packit 63bb0d
func (iter TagsListResultIterator) NotDone() bool {
Packit 63bb0d
	return iter.page.NotDone() && iter.i < len(iter.page.Values())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (iter TagsListResultIterator) Response() TagsListResult {
Packit 63bb0d
	return iter.page.Response()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Value returns the current value or a zero-initialized value if the
Packit 63bb0d
// iterator has advanced beyond the end of the collection.
Packit 63bb0d
func (iter TagsListResultIterator) Value() TagDetails {
Packit 63bb0d
	if !iter.page.NotDone() {
Packit 63bb0d
		return TagDetails{}
Packit 63bb0d
	}
Packit 63bb0d
	return iter.page.Values()[iter.i]
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the TagsListResultIterator type.
Packit 63bb0d
func NewTagsListResultIterator(page TagsListResultPage) TagsListResultIterator {
Packit 63bb0d
	return TagsListResultIterator{page: page}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// IsEmpty returns true if the ListResult contains no values.
Packit 63bb0d
func (tlr TagsListResult) IsEmpty() bool {
Packit 63bb0d
	return tlr.Value == nil || len(*tlr.Value) == 0
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// tagsListResultPreparer prepares a request to retrieve the next set of results.
Packit 63bb0d
// It returns nil if no more results exist.
Packit 63bb0d
func (tlr TagsListResult) tagsListResultPreparer(ctx context.Context) (*http.Request, error) {
Packit 63bb0d
	if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 {
Packit 63bb0d
		return nil, nil
Packit 63bb0d
	}
Packit 63bb0d
	return autorest.Prepare((&http.Request{}).WithContext(ctx),
Packit 63bb0d
		autorest.AsJSON(),
Packit 63bb0d
		autorest.AsGet(),
Packit 63bb0d
		autorest.WithBaseURL(to.String(tlr.NextLink)))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TagsListResultPage contains a page of TagDetails values.
Packit 63bb0d
type TagsListResultPage struct {
Packit 63bb0d
	fn  func(context.Context, TagsListResult) (TagsListResult, error)
Packit 63bb0d
	tlr TagsListResult
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NextWithContext advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
func (page *TagsListResultPage) NextWithContext(ctx context.Context) (err error) {
Packit 63bb0d
	if tracing.IsEnabled() {
Packit 63bb0d
		ctx = tracing.StartSpan(ctx, fqdn+"/TagsListResultPage.NextWithContext")
Packit 63bb0d
		defer func() {
Packit 63bb0d
			sc := -1
Packit 63bb0d
			if page.Response().Response.Response != nil {
Packit 63bb0d
				sc = page.Response().Response.Response.StatusCode
Packit 63bb0d
			}
Packit 63bb0d
			tracing.EndSpan(ctx, sc, err)
Packit 63bb0d
		}()
Packit 63bb0d
	}
Packit 63bb0d
	next, err := page.fn(ctx, page.tlr)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
	page.tlr = next
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Next advances to the next page of values.  If there was an error making
Packit 63bb0d
// the request the page does not advance and the error is returned.
Packit 63bb0d
// Deprecated: Use NextWithContext() instead.
Packit 63bb0d
func (page *TagsListResultPage) Next() error {
Packit 63bb0d
	return page.NextWithContext(context.Background())
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// NotDone returns true if the page enumeration should be started or is not yet complete.
Packit 63bb0d
func (page TagsListResultPage) NotDone() bool {
Packit 63bb0d
	return !page.tlr.IsEmpty()
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Response returns the raw server response from the last page request.
Packit 63bb0d
func (page TagsListResultPage) Response() TagsListResult {
Packit 63bb0d
	return page.tlr
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Values returns the slice of values for the current page or nil if there are no values.
Packit 63bb0d
func (page TagsListResultPage) Values() []TagDetails {
Packit 63bb0d
	if page.tlr.IsEmpty() {
Packit 63bb0d
		return nil
Packit 63bb0d
	}
Packit 63bb0d
	return *page.tlr.Value
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Creates a new instance of the TagsListResultPage type.
Packit 63bb0d
func NewTagsListResultPage(getNextPage func(context.Context, TagsListResult) (TagsListResult, error)) TagsListResultPage {
Packit 63bb0d
	return TagsListResultPage{fn: getNextPage}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TagValue tag information.
Packit 63bb0d
type TagValue struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// ID - READ-ONLY; The tag ID.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// TagValue - The tag value.
Packit 63bb0d
	TagValue *string `json:"tagValue,omitempty"`
Packit 63bb0d
	// Count - The tag value count.
Packit 63bb0d
	Count *TagCount `json:"count,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TargetResource target resource.
Packit 63bb0d
type TargetResource struct {
Packit 63bb0d
	// ID - The ID of the resource.
Packit 63bb0d
	ID *string `json:"id,omitempty"`
Packit 63bb0d
	// ResourceName - The name of the resource.
Packit 63bb0d
	ResourceName *string `json:"resourceName,omitempty"`
Packit 63bb0d
	// ResourceType - The type of the resource.
Packit 63bb0d
	ResourceType *string `json:"resourceType,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TemplateHashResult result of the request to calculate template hash. It contains a string of minified
Packit 63bb0d
// template and its hash.
Packit 63bb0d
type TemplateHashResult struct {
Packit 63bb0d
	autorest.Response `json:"-"`
Packit 63bb0d
	// MinifiedTemplate - The minified template string.
Packit 63bb0d
	MinifiedTemplate *string `json:"minifiedTemplate,omitempty"`
Packit 63bb0d
	// TemplateHash - The template hash.
Packit 63bb0d
	TemplateHash *string `json:"templateHash,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// TemplateLink entity representing the reference to the template.
Packit 63bb0d
type TemplateLink struct {
Packit 63bb0d
	// URI - The URI of the template to deploy.
Packit 63bb0d
	URI *string `json:"uri,omitempty"`
Packit 63bb0d
	// ContentVersion - If included, must match the ContentVersion in the template.
Packit 63bb0d
	ContentVersion *string `json:"contentVersion,omitempty"`
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// UpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running operation.
Packit 63bb0d
type UpdateByIDFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *UpdateByIDFuture) Result(client Client) (gr GenericResource, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.UpdateByIDFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.UpdateByIDFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
Packit 63bb0d
	if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent {
Packit 63bb0d
		gr, err = client.UpdateByIDResponder(gr.Response.Response)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			err = autorest.NewErrorWithError(err, "resources.UpdateByIDFuture", "Result", gr.Response.Response, "Failure responding to request")
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// UpdateFuture an abstraction for monitoring and retrieving the results of a long-running operation.
Packit 63bb0d
type UpdateFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *UpdateFuture) Result(client Client) (gr GenericResource, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.UpdateFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.UpdateFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
Packit 63bb0d
	if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent {
Packit 63bb0d
		gr, err = client.UpdateResponder(gr.Response.Response)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			err = autorest.NewErrorWithError(err, "resources.UpdateFuture", "Result", gr.Response.Response, "Failure responding to request")
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// ValidateMoveResourcesFuture an abstraction for monitoring and retrieving the results of a long-running
Packit 63bb0d
// operation.
Packit 63bb0d
type ValidateMoveResourcesFuture struct {
Packit 63bb0d
	azure.Future
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Result returns the result of the asynchronous operation.
Packit 63bb0d
// If the operation has not completed it will return an error.
Packit 63bb0d
func (future *ValidateMoveResourcesFuture) Result(client Client) (ar autorest.Response, err error) {
Packit 63bb0d
	var done bool
Packit 63bb0d
	done, err = future.DoneWithContext(context.Background(), client)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		err = autorest.NewErrorWithError(err, "resources.ValidateMoveResourcesFuture", "Result", future.Response(), "Polling failure")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if !done {
Packit 63bb0d
		err = azure.NewAsyncOpIncompleteError("resources.ValidateMoveResourcesFuture")
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	ar.Response = future.Response()
Packit 63bb0d
	return
Packit 63bb0d
}