Documentation
¶
Index ¶
- func DeployTemplate(ctx context.Context, log *logrus.Entry, deployments features.DeploymentsClient, ...) error
- type ArmResource
- type Copy
- type Deployment
- type DeploymentProperties
- type DeploymentTemplate
- type DeploymentTemplateResource
- type DeploymentTemplateResourceParameter
- type Output
- type Parameters
- type ParametersParameter
- type Resource
- type SubResource
- type Template
- type TemplateParameter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ArmResource ¶
type ArmResource struct {
SubscriptionID string
ResourceGroup string
Provider string
ResourceName string
ResourceType string
SubResource SubResource
}
ArmResource represents a resource and its child resources. Typically we would use the autorest package for this, but It does not have support for subresources
func ParseArmResourceId ¶
func ParseArmResourceId(resourceId string) (*ArmResource, error)
ParseArmResourceId takes in an ARM resource ID and returns an ArmResource object representing that resource. It supports up to two levels of subresource nesting.
func (ArmResource) ParentResource ¶
func (r ArmResource) ParentResource() string
ParentResourcetoString returns a string of the parent object in form of azureResourceID
func (ArmResource) String ¶
func (r ArmResource) String() string
String function returns a string in form of azureResourceID
type Copy ¶
type Copy struct {
Name string `json:"name,omitempty"`
Count int `json:"count,omitempty"`
Mode string `json:"mode,omitempty"`
BatchSize int `json:"batchSize,omitempty"`
}
Copy represents an ARM template copy stanza
type Deployment ¶
type Deployment struct {
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
Location string `json:"location,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
DependsOn []string `json:"dependsOn,omitempty"`
Condition interface{} `json:"condition,omitempty"`
Properties *DeploymentProperties `json:"properties,omitempty"`
}
Deployment represents a nested ARM deployment in a deployment
type DeploymentProperties ¶
type DeploymentProperties struct {
Mode string `json:"mode,omitempty"`
ExpressionEvaluationOptions map[string]*string `json:"expressionEvaluationOptions,omitempty"`
Parameters map[string]*DeploymentTemplateResourceParameter `json:"parameters,omitempty"`
Variables map[string]interface{} `json:"variables,omitempty"`
Template *DeploymentTemplate `json:"template,omitempty"`
}
DeploDeploymentProperties represents the propertioes of a nested ARM deployment
type DeploymentTemplate ¶
type DeploymentTemplate struct {
Schema string `json:"$schema,omitempty"`
APIProfile string `json:"apiProfile,omitempty"`
ContentVersion string `json:"contentVersion,omitempty"`
Variables map[string]interface{} `json:"variables,omitempty"`
Parameters map[string]*TemplateParameter `json:"parameters,omitempty"`
Functions []interface{} `json:"functions,omitempty"`
Resources []*DeploymentTemplateResource `json:"resources,omitempty"`
}
DeploymentTemplate represents the inner template of a nested ARM deployment
type DeploymentTemplateResource ¶
type DeploymentTemplateResource struct {
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
Properties interface{} `json:"properties,omitempty"`
}
DeploymentTemplateResource represents the inner template's resource of a nested ARM deployment
type DeploymentTemplateResourceParameter ¶
type DeploymentTemplateResourceParameter struct {
Value string `json:"value,omitempty"`
}
DeploymentTemplateResourceParameter represents a nested ARM deployment's resource parameter
type Output ¶
type Output struct {
Condition bool `json:"condition,omitempty"`
Type string `json:"type,omitempty"`
Value interface{} `json:"value,omitempty"`
}
Output represents an ARM template output
type Parameters ¶
type Parameters struct {
Schema string `json:"$schema,omitempty"`
ContentVersion string `json:"contentVersion,omitempty"`
Parameters map[string]*ParametersParameter `json:"parameters,omitempty"`
}
Parameters represents ARM parameters
type ParametersParameter ¶
type ParametersParameter struct {
Ref string `json:"$ref,omitempty"`
Value interface{} `json:"value,omitempty"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
ParametersParameter represents an ARM parameters parameter
type Resource ¶
type Resource struct {
Resource interface{} `json:"-"`
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
Condition interface{} `json:"condition,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
DependsOn []string `json:"dependsOn,omitempty"`
Location string `json:"location,omitempty"`
Tags map[string]interface{} `json:"tags,omitempty"`
Copy *Copy `json:"copy,omitempty"`
Comments string `json:"comments,omitempty"`
// Etag is required to omit Etag member when it's not set.
// arm* SDK uses its own MarshalJSON, and empty members are converted to nil,
// but Etag: nil fails the ARM template validation.
Etag string `json:"etag,omitempty"`
}
Resource represents an ARM template resource
func (*Resource) MarshalJSON ¶
MarshalJSON marshals the nested r.Resource ignoring any MarshalJSON() methods on its types. It then merges remaining fields of r over the result
func (*Resource) UnmarshalJSON ¶
UnmarshalJSON is not implemented
type SubResource ¶
type SubResource struct {
ResourceName string
ResourceType string
SubResource *SubResource
}
SubResource represents an ARM Proxy Resource ARM supports up to 3 levels of nested resources https://eng.ms/docs/products/arm/api_contracts/guidelines/rpc#rpc030-avoid-excessive-resource-type-nesting
type Template ¶
type Template struct {
Schema string `json:"$schema,omitempty"`
APIProfile string `json:"apiProfile,omitempty"`
ContentVersion string `json:"contentVersion,omitempty"`
Variables map[string]interface{} `json:"variables,omitempty"`
Parameters map[string]*TemplateParameter `json:"parameters,omitempty"`
Functions []interface{} `json:"functions,omitempty"`
Resources []*Resource `json:"resources,omitempty"`
Outputs map[string]*Output `json:"outputs,omitempty"`
}
Template represents an ARM template
type TemplateParameter ¶
type TemplateParameter struct {
Type string `json:"type,omitempty"`
DefaultValue interface{} `json:"defaultValue,omitempty"`
AllowedValues []interface{} `json:"allowedValues,omitempty"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
MinValue int `json:"minValue,omitempty"`
MaxValue int `json:"maxValue,omitempty"`
MinLength int `json:"minLength,omitempty"`
MaxLength int `json:"maxLength,omitempty"`
}
TemplateParameter represents an ARM template parameter