Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
17158 lines (15740 sloc) 635 KB
package network
// Copyright (c) Microsoft and contributors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
import (
"context"
"encoding/json"
"github.com/Azure/go-autorest/autorest"
"github.com/Azure/go-autorest/autorest/azure"
"github.com/Azure/go-autorest/autorest/date"
"github.com/Azure/go-autorest/autorest/to"
"github.com/Azure/go-autorest/tracing"
"net/http"
)
// The package's fully qualified name.
const fqdn = "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2018-01-01/network"
// Access enumerates the values for access.
type Access string
const (
// Allow ...
Allow Access = "Allow"
// Deny ...
Deny Access = "Deny"
)
// PossibleAccessValues returns an array of possible values for the Access const type.
func PossibleAccessValues() []Access {
return []Access{Allow, Deny}
}
// ApplicationGatewayBackendHealthServerHealth enumerates the values for application gateway backend health
// server health.
type ApplicationGatewayBackendHealthServerHealth string
const (
// Down ...
Down ApplicationGatewayBackendHealthServerHealth = "Down"
// Draining ...
Draining ApplicationGatewayBackendHealthServerHealth = "Draining"
// Partial ...
Partial ApplicationGatewayBackendHealthServerHealth = "Partial"
// Unknown ...
Unknown ApplicationGatewayBackendHealthServerHealth = "Unknown"
// Up ...
Up ApplicationGatewayBackendHealthServerHealth = "Up"
)
// PossibleApplicationGatewayBackendHealthServerHealthValues returns an array of possible values for the ApplicationGatewayBackendHealthServerHealth const type.
func PossibleApplicationGatewayBackendHealthServerHealthValues() []ApplicationGatewayBackendHealthServerHealth {
return []ApplicationGatewayBackendHealthServerHealth{Down, Draining, Partial, Unknown, Up}
}
// ApplicationGatewayCookieBasedAffinity enumerates the values for application gateway cookie based affinity.
type ApplicationGatewayCookieBasedAffinity string
const (
// Disabled ...
Disabled ApplicationGatewayCookieBasedAffinity = "Disabled"
// Enabled ...
Enabled ApplicationGatewayCookieBasedAffinity = "Enabled"
)
// PossibleApplicationGatewayCookieBasedAffinityValues returns an array of possible values for the ApplicationGatewayCookieBasedAffinity const type.
func PossibleApplicationGatewayCookieBasedAffinityValues() []ApplicationGatewayCookieBasedAffinity {
return []ApplicationGatewayCookieBasedAffinity{Disabled, Enabled}
}
// ApplicationGatewayFirewallMode enumerates the values for application gateway firewall mode.
type ApplicationGatewayFirewallMode string
const (
// Detection ...
Detection ApplicationGatewayFirewallMode = "Detection"
// Prevention ...
Prevention ApplicationGatewayFirewallMode = "Prevention"
)
// PossibleApplicationGatewayFirewallModeValues returns an array of possible values for the ApplicationGatewayFirewallMode const type.
func PossibleApplicationGatewayFirewallModeValues() []ApplicationGatewayFirewallMode {
return []ApplicationGatewayFirewallMode{Detection, Prevention}
}
// ApplicationGatewayOperationalState enumerates the values for application gateway operational state.
type ApplicationGatewayOperationalState string
const (
// Running ...
Running ApplicationGatewayOperationalState = "Running"
// Starting ...
Starting ApplicationGatewayOperationalState = "Starting"
// Stopped ...
Stopped ApplicationGatewayOperationalState = "Stopped"
// Stopping ...
Stopping ApplicationGatewayOperationalState = "Stopping"
)
// PossibleApplicationGatewayOperationalStateValues returns an array of possible values for the ApplicationGatewayOperationalState const type.
func PossibleApplicationGatewayOperationalStateValues() []ApplicationGatewayOperationalState {
return []ApplicationGatewayOperationalState{Running, Starting, Stopped, Stopping}
}
// ApplicationGatewayProtocol enumerates the values for application gateway protocol.
type ApplicationGatewayProtocol string
const (
// HTTP ...
HTTP ApplicationGatewayProtocol = "Http"
// HTTPS ...
HTTPS ApplicationGatewayProtocol = "Https"
)
// PossibleApplicationGatewayProtocolValues returns an array of possible values for the ApplicationGatewayProtocol const type.
func PossibleApplicationGatewayProtocolValues() []ApplicationGatewayProtocol {
return []ApplicationGatewayProtocol{HTTP, HTTPS}
}
// ApplicationGatewayRedirectType enumerates the values for application gateway redirect type.
type ApplicationGatewayRedirectType string
const (
// Found ...
Found ApplicationGatewayRedirectType = "Found"
// Permanent ...
Permanent ApplicationGatewayRedirectType = "Permanent"
// SeeOther ...
SeeOther ApplicationGatewayRedirectType = "SeeOther"
// Temporary ...
Temporary ApplicationGatewayRedirectType = "Temporary"
)
// PossibleApplicationGatewayRedirectTypeValues returns an array of possible values for the ApplicationGatewayRedirectType const type.
func PossibleApplicationGatewayRedirectTypeValues() []ApplicationGatewayRedirectType {
return []ApplicationGatewayRedirectType{Found, Permanent, SeeOther, Temporary}
}
// ApplicationGatewayRequestRoutingRuleType enumerates the values for application gateway request routing rule
// type.
type ApplicationGatewayRequestRoutingRuleType string
const (
// Basic ...
Basic ApplicationGatewayRequestRoutingRuleType = "Basic"
// PathBasedRouting ...
PathBasedRouting ApplicationGatewayRequestRoutingRuleType = "PathBasedRouting"
)
// PossibleApplicationGatewayRequestRoutingRuleTypeValues returns an array of possible values for the ApplicationGatewayRequestRoutingRuleType const type.
func PossibleApplicationGatewayRequestRoutingRuleTypeValues() []ApplicationGatewayRequestRoutingRuleType {
return []ApplicationGatewayRequestRoutingRuleType{Basic, PathBasedRouting}
}
// ApplicationGatewaySkuName enumerates the values for application gateway sku name.
type ApplicationGatewaySkuName string
const (
// StandardLarge ...
StandardLarge ApplicationGatewaySkuName = "Standard_Large"
// StandardMedium ...
StandardMedium ApplicationGatewaySkuName = "Standard_Medium"
// StandardSmall ...
StandardSmall ApplicationGatewaySkuName = "Standard_Small"
// WAFLarge ...
WAFLarge ApplicationGatewaySkuName = "WAF_Large"
// WAFMedium ...
WAFMedium ApplicationGatewaySkuName = "WAF_Medium"
)
// PossibleApplicationGatewaySkuNameValues returns an array of possible values for the ApplicationGatewaySkuName const type.
func PossibleApplicationGatewaySkuNameValues() []ApplicationGatewaySkuName {
return []ApplicationGatewaySkuName{StandardLarge, StandardMedium, StandardSmall, WAFLarge, WAFMedium}
}
// ApplicationGatewaySslCipherSuite enumerates the values for application gateway ssl cipher suite.
type ApplicationGatewaySslCipherSuite string
const (
// TLSDHEDSSWITH3DESEDECBCSHA ...
TLSDHEDSSWITH3DESEDECBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
// TLSDHEDSSWITHAES128CBCSHA ...
TLSDHEDSSWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"
// TLSDHEDSSWITHAES128CBCSHA256 ...
TLSDHEDSSWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"
// TLSDHEDSSWITHAES256CBCSHA ...
TLSDHEDSSWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
// TLSDHEDSSWITHAES256CBCSHA256 ...
TLSDHEDSSWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"
// TLSDHERSAWITHAES128CBCSHA ...
TLSDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
// TLSDHERSAWITHAES128GCMSHA256 ...
TLSDHERSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
// TLSDHERSAWITHAES256CBCSHA ...
TLSDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
// TLSDHERSAWITHAES256GCMSHA384 ...
TLSDHERSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"
// TLSECDHEECDSAWITHAES128CBCSHA ...
TLSECDHEECDSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"
// TLSECDHEECDSAWITHAES128CBCSHA256 ...
TLSECDHEECDSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
// TLSECDHEECDSAWITHAES128GCMSHA256 ...
TLSECDHEECDSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
// TLSECDHEECDSAWITHAES256CBCSHA ...
TLSECDHEECDSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
// TLSECDHEECDSAWITHAES256CBCSHA384 ...
TLSECDHEECDSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
// TLSECDHEECDSAWITHAES256GCMSHA384 ...
TLSECDHEECDSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
// TLSECDHERSAWITHAES128CBCSHA ...
TLSECDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
// TLSECDHERSAWITHAES128CBCSHA256 ...
TLSECDHERSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
// TLSECDHERSAWITHAES128GCMSHA256 ...
TLSECDHERSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
// TLSECDHERSAWITHAES256CBCSHA ...
TLSECDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
// TLSECDHERSAWITHAES256CBCSHA384 ...
TLSECDHERSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
// TLSECDHERSAWITHAES256GCMSHA384 ...
TLSECDHERSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
// TLSRSAWITH3DESEDECBCSHA ...
TLSRSAWITH3DESEDECBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_3DES_EDE_CBC_SHA"
// TLSRSAWITHAES128CBCSHA ...
TLSRSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA"
// TLSRSAWITHAES128CBCSHA256 ...
TLSRSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA256"
// TLSRSAWITHAES128GCMSHA256 ...
TLSRSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_GCM_SHA256"
// TLSRSAWITHAES256CBCSHA ...
TLSRSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA"
// TLSRSAWITHAES256CBCSHA256 ...
TLSRSAWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA256"
// TLSRSAWITHAES256GCMSHA384 ...
TLSRSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_GCM_SHA384"
)
// PossibleApplicationGatewaySslCipherSuiteValues returns an array of possible values for the ApplicationGatewaySslCipherSuite const type.
func PossibleApplicationGatewaySslCipherSuiteValues() []ApplicationGatewaySslCipherSuite {
return []ApplicationGatewaySslCipherSuite{TLSDHEDSSWITH3DESEDECBCSHA, TLSDHEDSSWITHAES128CBCSHA, TLSDHEDSSWITHAES128CBCSHA256, TLSDHEDSSWITHAES256CBCSHA, TLSDHEDSSWITHAES256CBCSHA256, TLSDHERSAWITHAES128CBCSHA, TLSDHERSAWITHAES128GCMSHA256, TLSDHERSAWITHAES256CBCSHA, TLSDHERSAWITHAES256GCMSHA384, TLSECDHEECDSAWITHAES128CBCSHA, TLSECDHEECDSAWITHAES128CBCSHA256, TLSECDHEECDSAWITHAES128GCMSHA256, TLSECDHEECDSAWITHAES256CBCSHA, TLSECDHEECDSAWITHAES256CBCSHA384, TLSECDHEECDSAWITHAES256GCMSHA384, TLSECDHERSAWITHAES128CBCSHA, TLSECDHERSAWITHAES128CBCSHA256, TLSECDHERSAWITHAES128GCMSHA256, TLSECDHERSAWITHAES256CBCSHA, TLSECDHERSAWITHAES256CBCSHA384, TLSECDHERSAWITHAES256GCMSHA384, TLSRSAWITH3DESEDECBCSHA, TLSRSAWITHAES128CBCSHA, TLSRSAWITHAES128CBCSHA256, TLSRSAWITHAES128GCMSHA256, TLSRSAWITHAES256CBCSHA, TLSRSAWITHAES256CBCSHA256, TLSRSAWITHAES256GCMSHA384}
}
// ApplicationGatewaySslPolicyName enumerates the values for application gateway ssl policy name.
type ApplicationGatewaySslPolicyName string
const (
// AppGwSslPolicy20150501 ...
AppGwSslPolicy20150501 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20150501"
// AppGwSslPolicy20170401 ...
AppGwSslPolicy20170401 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401"
// AppGwSslPolicy20170401S ...
AppGwSslPolicy20170401S ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401S"
)
// PossibleApplicationGatewaySslPolicyNameValues returns an array of possible values for the ApplicationGatewaySslPolicyName const type.
func PossibleApplicationGatewaySslPolicyNameValues() []ApplicationGatewaySslPolicyName {
return []ApplicationGatewaySslPolicyName{AppGwSslPolicy20150501, AppGwSslPolicy20170401, AppGwSslPolicy20170401S}
}
// ApplicationGatewaySslPolicyType enumerates the values for application gateway ssl policy type.
type ApplicationGatewaySslPolicyType string
const (
// Custom ...
Custom ApplicationGatewaySslPolicyType = "Custom"
// Predefined ...
Predefined ApplicationGatewaySslPolicyType = "Predefined"
)
// PossibleApplicationGatewaySslPolicyTypeValues returns an array of possible values for the ApplicationGatewaySslPolicyType const type.
func PossibleApplicationGatewaySslPolicyTypeValues() []ApplicationGatewaySslPolicyType {
return []ApplicationGatewaySslPolicyType{Custom, Predefined}
}
// ApplicationGatewaySslProtocol enumerates the values for application gateway ssl protocol.
type ApplicationGatewaySslProtocol string
const (
// TLSv10 ...
TLSv10 ApplicationGatewaySslProtocol = "TLSv1_0"
// TLSv11 ...
TLSv11 ApplicationGatewaySslProtocol = "TLSv1_1"
// TLSv12 ...
TLSv12 ApplicationGatewaySslProtocol = "TLSv1_2"
)
// PossibleApplicationGatewaySslProtocolValues returns an array of possible values for the ApplicationGatewaySslProtocol const type.
func PossibleApplicationGatewaySslProtocolValues() []ApplicationGatewaySslProtocol {
return []ApplicationGatewaySslProtocol{TLSv10, TLSv11, TLSv12}
}
// ApplicationGatewayTier enumerates the values for application gateway tier.
type ApplicationGatewayTier string
const (
// Standard ...
Standard ApplicationGatewayTier = "Standard"
// WAF ...
WAF ApplicationGatewayTier = "WAF"
)
// PossibleApplicationGatewayTierValues returns an array of possible values for the ApplicationGatewayTier const type.
func PossibleApplicationGatewayTierValues() []ApplicationGatewayTier {
return []ApplicationGatewayTier{Standard, WAF}
}
// AssociationType enumerates the values for association type.
type AssociationType string
const (
// Associated ...
Associated AssociationType = "Associated"
// Contains ...
Contains AssociationType = "Contains"
)
// PossibleAssociationTypeValues returns an array of possible values for the AssociationType const type.
func PossibleAssociationTypeValues() []AssociationType {
return []AssociationType{Associated, Contains}
}
// AuthenticationMethod enumerates the values for authentication method.
type AuthenticationMethod string
const (
// EAPMSCHAPv2 ...
EAPMSCHAPv2 AuthenticationMethod = "EAPMSCHAPv2"
// EAPTLS ...
EAPTLS AuthenticationMethod = "EAPTLS"
)
// PossibleAuthenticationMethodValues returns an array of possible values for the AuthenticationMethod const type.
func PossibleAuthenticationMethodValues() []AuthenticationMethod {
return []AuthenticationMethod{EAPMSCHAPv2, EAPTLS}
}
// AuthorizationUseStatus enumerates the values for authorization use status.
type AuthorizationUseStatus string
const (
// Available ...
Available AuthorizationUseStatus = "Available"
// InUse ...
InUse AuthorizationUseStatus = "InUse"
)
// PossibleAuthorizationUseStatusValues returns an array of possible values for the AuthorizationUseStatus const type.
func PossibleAuthorizationUseStatusValues() []AuthorizationUseStatus {
return []AuthorizationUseStatus{Available, InUse}
}
// BgpPeerState enumerates the values for bgp peer state.
type BgpPeerState string
const (
// BgpPeerStateConnected ...
BgpPeerStateConnected BgpPeerState = "Connected"
// BgpPeerStateConnecting ...
BgpPeerStateConnecting BgpPeerState = "Connecting"
// BgpPeerStateIdle ...
BgpPeerStateIdle BgpPeerState = "Idle"
// BgpPeerStateStopped ...
BgpPeerStateStopped BgpPeerState = "Stopped"
// BgpPeerStateUnknown ...
BgpPeerStateUnknown BgpPeerState = "Unknown"
)
// PossibleBgpPeerStateValues returns an array of possible values for the BgpPeerState const type.
func PossibleBgpPeerStateValues() []BgpPeerState {
return []BgpPeerState{BgpPeerStateConnected, BgpPeerStateConnecting, BgpPeerStateIdle, BgpPeerStateStopped, BgpPeerStateUnknown}
}
// ConnectionState enumerates the values for connection state.
type ConnectionState string
const (
// ConnectionStateReachable ...
ConnectionStateReachable ConnectionState = "Reachable"
// ConnectionStateUnknown ...
ConnectionStateUnknown ConnectionState = "Unknown"
// ConnectionStateUnreachable ...
ConnectionStateUnreachable ConnectionState = "Unreachable"
)
// PossibleConnectionStateValues returns an array of possible values for the ConnectionState const type.
func PossibleConnectionStateValues() []ConnectionState {
return []ConnectionState{ConnectionStateReachable, ConnectionStateUnknown, ConnectionStateUnreachable}
}
// ConnectionStatus enumerates the values for connection status.
type ConnectionStatus string
const (
// ConnectionStatusConnected ...
ConnectionStatusConnected ConnectionStatus = "Connected"
// ConnectionStatusDegraded ...
ConnectionStatusDegraded ConnectionStatus = "Degraded"
// ConnectionStatusDisconnected ...
ConnectionStatusDisconnected ConnectionStatus = "Disconnected"
// ConnectionStatusUnknown ...
ConnectionStatusUnknown ConnectionStatus = "Unknown"
)
// PossibleConnectionStatusValues returns an array of possible values for the ConnectionStatus const type.
func PossibleConnectionStatusValues() []ConnectionStatus {
return []ConnectionStatus{ConnectionStatusConnected, ConnectionStatusDegraded, ConnectionStatusDisconnected, ConnectionStatusUnknown}
}
// DhGroup enumerates the values for dh group.
type DhGroup string
const (
// DHGroup1 ...
DHGroup1 DhGroup = "DHGroup1"
// DHGroup14 ...
DHGroup14 DhGroup = "DHGroup14"
// DHGroup2 ...
DHGroup2 DhGroup = "DHGroup2"
// DHGroup2048 ...
DHGroup2048 DhGroup = "DHGroup2048"
// DHGroup24 ...
DHGroup24 DhGroup = "DHGroup24"
// ECP256 ...
ECP256 DhGroup = "ECP256"
// ECP384 ...
ECP384 DhGroup = "ECP384"
// None ...
None DhGroup = "None"
)
// PossibleDhGroupValues returns an array of possible values for the DhGroup const type.
func PossibleDhGroupValues() []DhGroup {
return []DhGroup{DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, None}
}
// Direction enumerates the values for direction.
type Direction string
const (
// Inbound ...
Inbound Direction = "Inbound"
// Outbound ...
Outbound Direction = "Outbound"
)
// PossibleDirectionValues returns an array of possible values for the Direction const type.
func PossibleDirectionValues() []Direction {
return []Direction{Inbound, Outbound}
}
// EffectiveRouteSource enumerates the values for effective route source.
type EffectiveRouteSource string
const (
// EffectiveRouteSourceDefault ...
EffectiveRouteSourceDefault EffectiveRouteSource = "Default"
// EffectiveRouteSourceUnknown ...
EffectiveRouteSourceUnknown EffectiveRouteSource = "Unknown"
// EffectiveRouteSourceUser ...
EffectiveRouteSourceUser EffectiveRouteSource = "User"
// EffectiveRouteSourceVirtualNetworkGateway ...
EffectiveRouteSourceVirtualNetworkGateway EffectiveRouteSource = "VirtualNetworkGateway"
)
// PossibleEffectiveRouteSourceValues returns an array of possible values for the EffectiveRouteSource const type.
func PossibleEffectiveRouteSourceValues() []EffectiveRouteSource {
return []EffectiveRouteSource{EffectiveRouteSourceDefault, EffectiveRouteSourceUnknown, EffectiveRouteSourceUser, EffectiveRouteSourceVirtualNetworkGateway}
}
// EffectiveRouteState enumerates the values for effective route state.
type EffectiveRouteState string
const (
// Active ...
Active EffectiveRouteState = "Active"
// Invalid ...
Invalid EffectiveRouteState = "Invalid"
)
// PossibleEffectiveRouteStateValues returns an array of possible values for the EffectiveRouteState const type.
func PossibleEffectiveRouteStateValues() []EffectiveRouteState {
return []EffectiveRouteState{Active, Invalid}
}
// EffectiveSecurityRuleProtocol enumerates the values for effective security rule protocol.
type EffectiveSecurityRuleProtocol string
const (
// All ...
All EffectiveSecurityRuleProtocol = "All"
// TCP ...
TCP EffectiveSecurityRuleProtocol = "Tcp"
// UDP ...
UDP EffectiveSecurityRuleProtocol = "Udp"
)
// PossibleEffectiveSecurityRuleProtocolValues returns an array of possible values for the EffectiveSecurityRuleProtocol const type.
func PossibleEffectiveSecurityRuleProtocolValues() []EffectiveSecurityRuleProtocol {
return []EffectiveSecurityRuleProtocol{All, TCP, UDP}
}
// EvaluationState enumerates the values for evaluation state.
type EvaluationState string
const (
// Completed ...
Completed EvaluationState = "Completed"
// InProgress ...
InProgress EvaluationState = "InProgress"
// NotStarted ...
NotStarted EvaluationState = "NotStarted"
)
// PossibleEvaluationStateValues returns an array of possible values for the EvaluationState const type.
func PossibleEvaluationStateValues() []EvaluationState {
return []EvaluationState{Completed, InProgress, NotStarted}
}
// ExpressRouteCircuitPeeringAdvertisedPublicPrefixState enumerates the values for express route circuit
// peering advertised public prefix state.
type ExpressRouteCircuitPeeringAdvertisedPublicPrefixState string
const (
// Configured ...
Configured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configured"
// Configuring ...
Configuring ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configuring"
// NotConfigured ...
NotConfigured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "NotConfigured"
// ValidationNeeded ...
ValidationNeeded ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "ValidationNeeded"
)
// PossibleExpressRouteCircuitPeeringAdvertisedPublicPrefixStateValues returns an array of possible values for the ExpressRouteCircuitPeeringAdvertisedPublicPrefixState const type.
func PossibleExpressRouteCircuitPeeringAdvertisedPublicPrefixStateValues() []ExpressRouteCircuitPeeringAdvertisedPublicPrefixState {
return []ExpressRouteCircuitPeeringAdvertisedPublicPrefixState{Configured, Configuring, NotConfigured, ValidationNeeded}
}
// ExpressRouteCircuitPeeringState enumerates the values for express route circuit peering state.
type ExpressRouteCircuitPeeringState string
const (
// ExpressRouteCircuitPeeringStateDisabled ...
ExpressRouteCircuitPeeringStateDisabled ExpressRouteCircuitPeeringState = "Disabled"
// ExpressRouteCircuitPeeringStateEnabled ...
ExpressRouteCircuitPeeringStateEnabled ExpressRouteCircuitPeeringState = "Enabled"
)
// PossibleExpressRouteCircuitPeeringStateValues returns an array of possible values for the ExpressRouteCircuitPeeringState const type.
func PossibleExpressRouteCircuitPeeringStateValues() []ExpressRouteCircuitPeeringState {
return []ExpressRouteCircuitPeeringState{ExpressRouteCircuitPeeringStateDisabled, ExpressRouteCircuitPeeringStateEnabled}
}
// ExpressRouteCircuitPeeringType enumerates the values for express route circuit peering type.
type ExpressRouteCircuitPeeringType string
const (
// AzurePrivatePeering ...
AzurePrivatePeering ExpressRouteCircuitPeeringType = "AzurePrivatePeering"
// AzurePublicPeering ...
AzurePublicPeering ExpressRouteCircuitPeeringType = "AzurePublicPeering"
// MicrosoftPeering ...
MicrosoftPeering ExpressRouteCircuitPeeringType = "MicrosoftPeering"
)
// PossibleExpressRouteCircuitPeeringTypeValues returns an array of possible values for the ExpressRouteCircuitPeeringType const type.
func PossibleExpressRouteCircuitPeeringTypeValues() []ExpressRouteCircuitPeeringType {
return []ExpressRouteCircuitPeeringType{AzurePrivatePeering, AzurePublicPeering, MicrosoftPeering}
}
// ExpressRouteCircuitSkuFamily enumerates the values for express route circuit sku family.
type ExpressRouteCircuitSkuFamily string
const (
// MeteredData ...
MeteredData ExpressRouteCircuitSkuFamily = "MeteredData"
// UnlimitedData ...
UnlimitedData ExpressRouteCircuitSkuFamily = "UnlimitedData"
)
// PossibleExpressRouteCircuitSkuFamilyValues returns an array of possible values for the ExpressRouteCircuitSkuFamily const type.
func PossibleExpressRouteCircuitSkuFamilyValues() []ExpressRouteCircuitSkuFamily {
return []ExpressRouteCircuitSkuFamily{MeteredData, UnlimitedData}
}
// ExpressRouteCircuitSkuTier enumerates the values for express route circuit sku tier.
type ExpressRouteCircuitSkuTier string
const (
// ExpressRouteCircuitSkuTierPremium ...
ExpressRouteCircuitSkuTierPremium ExpressRouteCircuitSkuTier = "Premium"
// ExpressRouteCircuitSkuTierStandard ...
ExpressRouteCircuitSkuTierStandard ExpressRouteCircuitSkuTier = "Standard"
)
// PossibleExpressRouteCircuitSkuTierValues returns an array of possible values for the ExpressRouteCircuitSkuTier const type.
func PossibleExpressRouteCircuitSkuTierValues() []ExpressRouteCircuitSkuTier {
return []ExpressRouteCircuitSkuTier{ExpressRouteCircuitSkuTierPremium, ExpressRouteCircuitSkuTierStandard}
}
// IkeEncryption enumerates the values for ike encryption.
type IkeEncryption string
const (
// AES128 ...
AES128 IkeEncryption = "AES128"
// AES192 ...
AES192 IkeEncryption = "AES192"
// AES256 ...
AES256 IkeEncryption = "AES256"
// DES ...
DES IkeEncryption = "DES"
// DES3 ...
DES3 IkeEncryption = "DES3"
)
// PossibleIkeEncryptionValues returns an array of possible values for the IkeEncryption const type.
func PossibleIkeEncryptionValues() []IkeEncryption {
return []IkeEncryption{AES128, AES192, AES256, DES, DES3}
}
// IkeIntegrity enumerates the values for ike integrity.
type IkeIntegrity string
const (
// MD5 ...
MD5 IkeIntegrity = "MD5"
// SHA1 ...
SHA1 IkeIntegrity = "SHA1"
// SHA256 ...
SHA256 IkeIntegrity = "SHA256"
// SHA384 ...
SHA384 IkeIntegrity = "SHA384"
)
// PossibleIkeIntegrityValues returns an array of possible values for the IkeIntegrity const type.
func PossibleIkeIntegrityValues() []IkeIntegrity {
return []IkeIntegrity{MD5, SHA1, SHA256, SHA384}
}
// IPAllocationMethod enumerates the values for ip allocation method.
type IPAllocationMethod string
const (
// Dynamic ...
Dynamic IPAllocationMethod = "Dynamic"
// Static ...
Static IPAllocationMethod = "Static"
)
// PossibleIPAllocationMethodValues returns an array of possible values for the IPAllocationMethod const type.
func PossibleIPAllocationMethodValues() []IPAllocationMethod {
return []IPAllocationMethod{Dynamic, Static}
}
// IpsecEncryption enumerates the values for ipsec encryption.
type IpsecEncryption string
const (
// IpsecEncryptionAES128 ...
IpsecEncryptionAES128 IpsecEncryption = "AES128"
// IpsecEncryptionAES192 ...
IpsecEncryptionAES192 IpsecEncryption = "AES192"
// IpsecEncryptionAES256 ...
IpsecEncryptionAES256 IpsecEncryption = "AES256"
// IpsecEncryptionDES ...
IpsecEncryptionDES IpsecEncryption = "DES"
// IpsecEncryptionDES3 ...
IpsecEncryptionDES3 IpsecEncryption = "DES3"
// IpsecEncryptionGCMAES128 ...
IpsecEncryptionGCMAES128 IpsecEncryption = "GCMAES128"
// IpsecEncryptionGCMAES192 ...
IpsecEncryptionGCMAES192 IpsecEncryption = "GCMAES192"
// IpsecEncryptionGCMAES256 ...
IpsecEncryptionGCMAES256 IpsecEncryption = "GCMAES256"
// IpsecEncryptionNone ...
IpsecEncryptionNone IpsecEncryption = "None"
)
// PossibleIpsecEncryptionValues returns an array of possible values for the IpsecEncryption const type.
func PossibleIpsecEncryptionValues() []IpsecEncryption {
return []IpsecEncryption{IpsecEncryptionAES128, IpsecEncryptionAES192, IpsecEncryptionAES256, IpsecEncryptionDES, IpsecEncryptionDES3, IpsecEncryptionGCMAES128, IpsecEncryptionGCMAES192, IpsecEncryptionGCMAES256, IpsecEncryptionNone}
}
// IpsecIntegrity enumerates the values for ipsec integrity.
type IpsecIntegrity string
const (
// IpsecIntegrityGCMAES128 ...
IpsecIntegrityGCMAES128 IpsecIntegrity = "GCMAES128"
// IpsecIntegrityGCMAES192 ...
IpsecIntegrityGCMAES192 IpsecIntegrity = "GCMAES192"
// IpsecIntegrityGCMAES256 ...
IpsecIntegrityGCMAES256 IpsecIntegrity = "GCMAES256"
// IpsecIntegrityMD5 ...
IpsecIntegrityMD5 IpsecIntegrity = "MD5"
// IpsecIntegritySHA1 ...
IpsecIntegritySHA1 IpsecIntegrity = "SHA1"
// IpsecIntegritySHA256 ...
IpsecIntegritySHA256 IpsecIntegrity = "SHA256"
)
// PossibleIpsecIntegrityValues returns an array of possible values for the IpsecIntegrity const type.
func PossibleIpsecIntegrityValues() []IpsecIntegrity {
return []IpsecIntegrity{IpsecIntegrityGCMAES128, IpsecIntegrityGCMAES192, IpsecIntegrityGCMAES256, IpsecIntegrityMD5, IpsecIntegritySHA1, IpsecIntegritySHA256}
}
// IPVersion enumerates the values for ip version.
type IPVersion string
const (
// IPv4 ...
IPv4 IPVersion = "IPv4"
// IPv6 ...
IPv6 IPVersion = "IPv6"
)
// PossibleIPVersionValues returns an array of possible values for the IPVersion const type.
func PossibleIPVersionValues() []IPVersion {
return []IPVersion{IPv4, IPv6}
}
// IssueType enumerates the values for issue type.
type IssueType string
const (
// IssueTypeAgentStopped ...
IssueTypeAgentStopped IssueType = "AgentStopped"
// IssueTypeDNSResolution ...
IssueTypeDNSResolution IssueType = "DnsResolution"
// IssueTypeGuestFirewall ...
IssueTypeGuestFirewall IssueType = "GuestFirewall"
// IssueTypeNetworkSecurityRule ...
IssueTypeNetworkSecurityRule IssueType = "NetworkSecurityRule"
// IssueTypePlatform ...
IssueTypePlatform IssueType = "Platform"
// IssueTypePortThrottled ...
IssueTypePortThrottled IssueType = "PortThrottled"
// IssueTypeSocketBind ...
IssueTypeSocketBind IssueType = "SocketBind"
// IssueTypeUnknown ...
IssueTypeUnknown IssueType = "Unknown"
// IssueTypeUserDefinedRoute ...
IssueTypeUserDefinedRoute IssueType = "UserDefinedRoute"
)
// PossibleIssueTypeValues returns an array of possible values for the IssueType const type.
func PossibleIssueTypeValues() []IssueType {
return []IssueType{IssueTypeAgentStopped, IssueTypeDNSResolution, IssueTypeGuestFirewall, IssueTypeNetworkSecurityRule, IssueTypePlatform, IssueTypePortThrottled, IssueTypeSocketBind, IssueTypeUnknown, IssueTypeUserDefinedRoute}
}
// LoadBalancerSkuName enumerates the values for load balancer sku name.
type LoadBalancerSkuName string
const (
// LoadBalancerSkuNameBasic ...
LoadBalancerSkuNameBasic LoadBalancerSkuName = "Basic"
// LoadBalancerSkuNameStandard ...
LoadBalancerSkuNameStandard LoadBalancerSkuName = "Standard"
)
// PossibleLoadBalancerSkuNameValues returns an array of possible values for the LoadBalancerSkuName const type.
func PossibleLoadBalancerSkuNameValues() []LoadBalancerSkuName {
return []LoadBalancerSkuName{LoadBalancerSkuNameBasic, LoadBalancerSkuNameStandard}
}
// LoadDistribution enumerates the values for load distribution.
type LoadDistribution string
const (
// Default ...
Default LoadDistribution = "Default"
// SourceIP ...
SourceIP LoadDistribution = "SourceIP"
// SourceIPProtocol ...
SourceIPProtocol LoadDistribution = "SourceIPProtocol"
)
// PossibleLoadDistributionValues returns an array of possible values for the LoadDistribution const type.
func PossibleLoadDistributionValues() []LoadDistribution {
return []LoadDistribution{Default, SourceIP, SourceIPProtocol}
}
// NextHopType enumerates the values for next hop type.
type NextHopType string
const (
// NextHopTypeHyperNetGateway ...
NextHopTypeHyperNetGateway NextHopType = "HyperNetGateway"
// NextHopTypeInternet ...
NextHopTypeInternet NextHopType = "Internet"
// NextHopTypeNone ...
NextHopTypeNone NextHopType = "None"
// NextHopTypeVirtualAppliance ...
NextHopTypeVirtualAppliance NextHopType = "VirtualAppliance"
// NextHopTypeVirtualNetworkGateway ...
NextHopTypeVirtualNetworkGateway NextHopType = "VirtualNetworkGateway"
// NextHopTypeVnetLocal ...
NextHopTypeVnetLocal NextHopType = "VnetLocal"
)
// PossibleNextHopTypeValues returns an array of possible values for the NextHopType const type.
func PossibleNextHopTypeValues() []NextHopType {
return []NextHopType{NextHopTypeHyperNetGateway, NextHopTypeInternet, NextHopTypeNone, NextHopTypeVirtualAppliance, NextHopTypeVirtualNetworkGateway, NextHopTypeVnetLocal}
}
// OperationStatus enumerates the values for operation status.
type OperationStatus string
const (
// OperationStatusFailed ...
OperationStatusFailed OperationStatus = "Failed"
// OperationStatusInProgress ...
OperationStatusInProgress OperationStatus = "InProgress"
// OperationStatusSucceeded ...
OperationStatusSucceeded OperationStatus = "Succeeded"
)
// PossibleOperationStatusValues returns an array of possible values for the OperationStatus const type.
func PossibleOperationStatusValues() []OperationStatus {
return []OperationStatus{OperationStatusFailed, OperationStatusInProgress, OperationStatusSucceeded}
}
// Origin enumerates the values for origin.
type Origin string
const (
// OriginInbound ...
OriginInbound Origin = "Inbound"
// OriginLocal ...
OriginLocal Origin = "Local"
// OriginOutbound ...
OriginOutbound Origin = "Outbound"
)
// PossibleOriginValues returns an array of possible values for the Origin const type.
func PossibleOriginValues() []Origin {
return []Origin{OriginInbound, OriginLocal, OriginOutbound}
}
// PcError enumerates the values for pc error.
type PcError string
const (
// AgentStopped ...
AgentStopped PcError = "AgentStopped"
// CaptureFailed ...
CaptureFailed PcError = "CaptureFailed"
// InternalError ...
InternalError PcError = "InternalError"
// LocalFileFailed ...
LocalFileFailed PcError = "LocalFileFailed"
// StorageFailed ...
StorageFailed PcError = "StorageFailed"
)
// PossiblePcErrorValues returns an array of possible values for the PcError const type.
func PossiblePcErrorValues() []PcError {
return []PcError{AgentStopped, CaptureFailed, InternalError, LocalFileFailed, StorageFailed}
}
// PcProtocol enumerates the values for pc protocol.
type PcProtocol string
const (
// PcProtocolAny ...
PcProtocolAny PcProtocol = "Any"
// PcProtocolTCP ...
PcProtocolTCP PcProtocol = "TCP"
// PcProtocolUDP ...
PcProtocolUDP PcProtocol = "UDP"
)
// PossiblePcProtocolValues returns an array of possible values for the PcProtocol const type.
func PossiblePcProtocolValues() []PcProtocol {
return []PcProtocol{PcProtocolAny, PcProtocolTCP, PcProtocolUDP}
}
// PcStatus enumerates the values for pc status.
type PcStatus string
const (
// PcStatusError ...
PcStatusError PcStatus = "Error"
// PcStatusNotStarted ...
PcStatusNotStarted PcStatus = "NotStarted"
// PcStatusRunning ...
PcStatusRunning PcStatus = "Running"
// PcStatusStopped ...
PcStatusStopped PcStatus = "Stopped"
// PcStatusUnknown ...
PcStatusUnknown PcStatus = "Unknown"
)
// PossiblePcStatusValues returns an array of possible values for the PcStatus const type.
func PossiblePcStatusValues() []PcStatus {
return []PcStatus{PcStatusError, PcStatusNotStarted, PcStatusRunning, PcStatusStopped, PcStatusUnknown}
}
// PfsGroup enumerates the values for pfs group.
type PfsGroup string
const (
// PfsGroupECP256 ...
PfsGroupECP256 PfsGroup = "ECP256"
// PfsGroupECP384 ...
PfsGroupECP384 PfsGroup = "ECP384"
// PfsGroupNone ...
PfsGroupNone PfsGroup = "None"
// PfsGroupPFS1 ...
PfsGroupPFS1 PfsGroup = "PFS1"
// PfsGroupPFS2 ...
PfsGroupPFS2 PfsGroup = "PFS2"
// PfsGroupPFS2048 ...
PfsGroupPFS2048 PfsGroup = "PFS2048"
// PfsGroupPFS24 ...
PfsGroupPFS24 PfsGroup = "PFS24"
)
// PossiblePfsGroupValues returns an array of possible values for the PfsGroup const type.
func PossiblePfsGroupValues() []PfsGroup {
return []PfsGroup{PfsGroupECP256, PfsGroupECP384, PfsGroupNone, PfsGroupPFS1, PfsGroupPFS2, PfsGroupPFS2048, PfsGroupPFS24}
}
// ProbeProtocol enumerates the values for probe protocol.
type ProbeProtocol string
const (
// ProbeProtocolHTTP ...
ProbeProtocolHTTP ProbeProtocol = "Http"
// ProbeProtocolTCP ...
ProbeProtocolTCP ProbeProtocol = "Tcp"
)
// PossibleProbeProtocolValues returns an array of possible values for the ProbeProtocol const type.
func PossibleProbeProtocolValues() []ProbeProtocol {
return []ProbeProtocol{ProbeProtocolHTTP, ProbeProtocolTCP}
}
// ProcessorArchitecture enumerates the values for processor architecture.
type ProcessorArchitecture string
const (
// Amd64 ...
Amd64 ProcessorArchitecture = "Amd64"
// X86 ...
X86 ProcessorArchitecture = "X86"
)
// PossibleProcessorArchitectureValues returns an array of possible values for the ProcessorArchitecture const type.
func PossibleProcessorArchitectureValues() []ProcessorArchitecture {
return []ProcessorArchitecture{Amd64, X86}
}
// Protocol enumerates the values for protocol.
type Protocol string
const (
// ProtocolTCP ...
ProtocolTCP Protocol = "TCP"
// ProtocolUDP ...
ProtocolUDP Protocol = "UDP"
)
// PossibleProtocolValues returns an array of possible values for the Protocol const type.
func PossibleProtocolValues() []Protocol {
return []Protocol{ProtocolTCP, ProtocolUDP}
}
// ProvisioningState enumerates the values for provisioning state.
type ProvisioningState string
const (
// Deleting ...
Deleting ProvisioningState = "Deleting"
// Failed ...
Failed ProvisioningState = "Failed"
// Succeeded ...
Succeeded ProvisioningState = "Succeeded"
// Updating ...
Updating ProvisioningState = "Updating"
)
// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type.
func PossibleProvisioningStateValues() []ProvisioningState {
return []ProvisioningState{Deleting, Failed, Succeeded, Updating}
}
// PublicIPAddressSkuName enumerates the values for public ip address sku name.
type PublicIPAddressSkuName string
const (
// PublicIPAddressSkuNameBasic ...
PublicIPAddressSkuNameBasic PublicIPAddressSkuName = "Basic"
// PublicIPAddressSkuNameStandard ...
PublicIPAddressSkuNameStandard PublicIPAddressSkuName = "Standard"
)
// PossiblePublicIPAddressSkuNameValues returns an array of possible values for the PublicIPAddressSkuName const type.
func PossiblePublicIPAddressSkuNameValues() []PublicIPAddressSkuName {
return []PublicIPAddressSkuName{PublicIPAddressSkuNameBasic, PublicIPAddressSkuNameStandard}
}
// RouteNextHopType enumerates the values for route next hop type.
type RouteNextHopType string
const (
// RouteNextHopTypeInternet ...
RouteNextHopTypeInternet RouteNextHopType = "Internet"
// RouteNextHopTypeNone ...
RouteNextHopTypeNone RouteNextHopType = "None"
// RouteNextHopTypeVirtualAppliance ...
RouteNextHopTypeVirtualAppliance RouteNextHopType = "VirtualAppliance"
// RouteNextHopTypeVirtualNetworkGateway ...
RouteNextHopTypeVirtualNetworkGateway RouteNextHopType = "VirtualNetworkGateway"
// RouteNextHopTypeVnetLocal ...
RouteNextHopTypeVnetLocal RouteNextHopType = "VnetLocal"
)
// PossibleRouteNextHopTypeValues returns an array of possible values for the RouteNextHopType const type.
func PossibleRouteNextHopTypeValues() []RouteNextHopType {
return []RouteNextHopType{RouteNextHopTypeInternet, RouteNextHopTypeNone, RouteNextHopTypeVirtualAppliance, RouteNextHopTypeVirtualNetworkGateway, RouteNextHopTypeVnetLocal}
}
// SecurityRuleAccess enumerates the values for security rule access.
type SecurityRuleAccess string
const (
// SecurityRuleAccessAllow ...
SecurityRuleAccessAllow SecurityRuleAccess = "Allow"
// SecurityRuleAccessDeny ...
SecurityRuleAccessDeny SecurityRuleAccess = "Deny"
)
// PossibleSecurityRuleAccessValues returns an array of possible values for the SecurityRuleAccess const type.
func PossibleSecurityRuleAccessValues() []SecurityRuleAccess {
return []SecurityRuleAccess{SecurityRuleAccessAllow, SecurityRuleAccessDeny}
}
// SecurityRuleDirection enumerates the values for security rule direction.
type SecurityRuleDirection string
const (
// SecurityRuleDirectionInbound ...
SecurityRuleDirectionInbound SecurityRuleDirection = "Inbound"
// SecurityRuleDirectionOutbound ...
SecurityRuleDirectionOutbound SecurityRuleDirection = "Outbound"
)
// PossibleSecurityRuleDirectionValues returns an array of possible values for the SecurityRuleDirection const type.
func PossibleSecurityRuleDirectionValues() []SecurityRuleDirection {
return []SecurityRuleDirection{SecurityRuleDirectionInbound, SecurityRuleDirectionOutbound}
}
// SecurityRuleProtocol enumerates the values for security rule protocol.
type SecurityRuleProtocol string
const (
// SecurityRuleProtocolAsterisk ...
SecurityRuleProtocolAsterisk SecurityRuleProtocol = "*"
// SecurityRuleProtocolTCP ...
SecurityRuleProtocolTCP SecurityRuleProtocol = "Tcp"
// SecurityRuleProtocolUDP ...
SecurityRuleProtocolUDP SecurityRuleProtocol = "Udp"
)
// PossibleSecurityRuleProtocolValues returns an array of possible values for the SecurityRuleProtocol const type.
func PossibleSecurityRuleProtocolValues() []SecurityRuleProtocol {
return []SecurityRuleProtocol{SecurityRuleProtocolAsterisk, SecurityRuleProtocolTCP, SecurityRuleProtocolUDP}
}
// ServiceProviderProvisioningState enumerates the values for service provider provisioning state.
type ServiceProviderProvisioningState string
const (
// Deprovisioning ...
Deprovisioning ServiceProviderProvisioningState = "Deprovisioning"
// NotProvisioned ...
NotProvisioned ServiceProviderProvisioningState = "NotProvisioned"
// Provisioned ...
Provisioned ServiceProviderProvisioningState = "Provisioned"
// Provisioning ...
Provisioning ServiceProviderProvisioningState = "Provisioning"
)
// PossibleServiceProviderProvisioningStateValues returns an array of possible values for the ServiceProviderProvisioningState const type.
func PossibleServiceProviderProvisioningStateValues() []ServiceProviderProvisioningState {
return []ServiceProviderProvisioningState{Deprovisioning, NotProvisioned, Provisioned, Provisioning}
}
// Severity enumerates the values for severity.
type Severity string
const (
// SeverityError ...
SeverityError Severity = "Error"
// SeverityWarning ...
SeverityWarning Severity = "Warning"
)
// PossibleSeverityValues returns an array of possible values for the Severity const type.
func PossibleSeverityValues() []Severity {
return []Severity{SeverityError, SeverityWarning}
}
// TransportProtocol enumerates the values for transport protocol.
type TransportProtocol string
const (
// TransportProtocolAll ...
TransportProtocolAll TransportProtocol = "All"
// TransportProtocolTCP ...
TransportProtocolTCP TransportProtocol = "Tcp"
// TransportProtocolUDP ...
TransportProtocolUDP TransportProtocol = "Udp"
)
// PossibleTransportProtocolValues returns an array of possible values for the TransportProtocol const type.
func PossibleTransportProtocolValues() []TransportProtocol {
return []TransportProtocol{TransportProtocolAll, TransportProtocolTCP, TransportProtocolUDP}
}
// VirtualNetworkGatewayConnectionStatus enumerates the values for virtual network gateway connection status.
type VirtualNetworkGatewayConnectionStatus string
const (
// VirtualNetworkGatewayConnectionStatusConnected ...
VirtualNetworkGatewayConnectionStatusConnected VirtualNetworkGatewayConnectionStatus = "Connected"
// VirtualNetworkGatewayConnectionStatusConnecting ...
VirtualNetworkGatewayConnectionStatusConnecting VirtualNetworkGatewayConnectionStatus = "Connecting"
// VirtualNetworkGatewayConnectionStatusNotConnected ...
VirtualNetworkGatewayConnectionStatusNotConnected VirtualNetworkGatewayConnectionStatus = "NotConnected"
// VirtualNetworkGatewayConnectionStatusUnknown ...
VirtualNetworkGatewayConnectionStatusUnknown VirtualNetworkGatewayConnectionStatus = "Unknown"
)
// PossibleVirtualNetworkGatewayConnectionStatusValues returns an array of possible values for the VirtualNetworkGatewayConnectionStatus const type.
func PossibleVirtualNetworkGatewayConnectionStatusValues() []VirtualNetworkGatewayConnectionStatus {
return []VirtualNetworkGatewayConnectionStatus{VirtualNetworkGatewayConnectionStatusConnected, VirtualNetworkGatewayConnectionStatusConnecting, VirtualNetworkGatewayConnectionStatusNotConnected, VirtualNetworkGatewayConnectionStatusUnknown}
}
// VirtualNetworkGatewayConnectionType enumerates the values for virtual network gateway connection type.
type VirtualNetworkGatewayConnectionType string
const (
// ExpressRoute ...
ExpressRoute VirtualNetworkGatewayConnectionType = "ExpressRoute"
// IPsec ...
IPsec VirtualNetworkGatewayConnectionType = "IPsec"
// Vnet2Vnet ...
Vnet2Vnet VirtualNetworkGatewayConnectionType = "Vnet2Vnet"
// VPNClient ...
VPNClient VirtualNetworkGatewayConnectionType = "VPNClient"
)
// PossibleVirtualNetworkGatewayConnectionTypeValues returns an array of possible values for the VirtualNetworkGatewayConnectionType const type.
func PossibleVirtualNetworkGatewayConnectionTypeValues() []VirtualNetworkGatewayConnectionType {
return []VirtualNetworkGatewayConnectionType{ExpressRoute, IPsec, Vnet2Vnet, VPNClient}
}
// VirtualNetworkGatewaySkuName enumerates the values for virtual network gateway sku name.
type VirtualNetworkGatewaySkuName string
const (
// VirtualNetworkGatewaySkuNameBasic ...
VirtualNetworkGatewaySkuNameBasic VirtualNetworkGatewaySkuName = "Basic"
// VirtualNetworkGatewaySkuNameHighPerformance ...
VirtualNetworkGatewaySkuNameHighPerformance VirtualNetworkGatewaySkuName = "HighPerformance"
// VirtualNetworkGatewaySkuNameStandard ...
VirtualNetworkGatewaySkuNameStandard VirtualNetworkGatewaySkuName = "Standard"
// VirtualNetworkGatewaySkuNameUltraPerformance ...
VirtualNetworkGatewaySkuNameUltraPerformance VirtualNetworkGatewaySkuName = "UltraPerformance"
// VirtualNetworkGatewaySkuNameVpnGw1 ...
VirtualNetworkGatewaySkuNameVpnGw1 VirtualNetworkGatewaySkuName = "VpnGw1"
// VirtualNetworkGatewaySkuNameVpnGw2 ...
VirtualNetworkGatewaySkuNameVpnGw2 VirtualNetworkGatewaySkuName = "VpnGw2"
// VirtualNetworkGatewaySkuNameVpnGw3 ...
VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuName = "VpnGw3"
)
// PossibleVirtualNetworkGatewaySkuNameValues returns an array of possible values for the VirtualNetworkGatewaySkuName const type.
func PossibleVirtualNetworkGatewaySkuNameValues() []VirtualNetworkGatewaySkuName {
return []VirtualNetworkGatewaySkuName{VirtualNetworkGatewaySkuNameBasic, VirtualNetworkGatewaySkuNameHighPerformance, VirtualNetworkGatewaySkuNameStandard, VirtualNetworkGatewaySkuNameUltraPerformance, VirtualNetworkGatewaySkuNameVpnGw1, VirtualNetworkGatewaySkuNameVpnGw2, VirtualNetworkGatewaySkuNameVpnGw3}
}
// VirtualNetworkGatewaySkuTier enumerates the values for virtual network gateway sku tier.
type VirtualNetworkGatewaySkuTier string
const (
// VirtualNetworkGatewaySkuTierBasic ...
VirtualNetworkGatewaySkuTierBasic VirtualNetworkGatewaySkuTier = "Basic"
// VirtualNetworkGatewaySkuTierHighPerformance ...
VirtualNetworkGatewaySkuTierHighPerformance VirtualNetworkGatewaySkuTier = "HighPerformance"
// VirtualNetworkGatewaySkuTierStandard ...
VirtualNetworkGatewaySkuTierStandard VirtualNetworkGatewaySkuTier = "Standard"
// VirtualNetworkGatewaySkuTierUltraPerformance ...
VirtualNetworkGatewaySkuTierUltraPerformance VirtualNetworkGatewaySkuTier = "UltraPerformance"
// VirtualNetworkGatewaySkuTierVpnGw1 ...
VirtualNetworkGatewaySkuTierVpnGw1 VirtualNetworkGatewaySkuTier = "VpnGw1"
// VirtualNetworkGatewaySkuTierVpnGw2 ...
VirtualNetworkGatewaySkuTierVpnGw2 VirtualNetworkGatewaySkuTier = "VpnGw2"
// VirtualNetworkGatewaySkuTierVpnGw3 ...
VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTier = "VpnGw3"
)
// PossibleVirtualNetworkGatewaySkuTierValues returns an array of possible values for the VirtualNetworkGatewaySkuTier const type.
func PossibleVirtualNetworkGatewaySkuTierValues() []VirtualNetworkGatewaySkuTier {
return []VirtualNetworkGatewaySkuTier{VirtualNetworkGatewaySkuTierBasic, VirtualNetworkGatewaySkuTierHighPerformance, VirtualNetworkGatewaySkuTierStandard, VirtualNetworkGatewaySkuTierUltraPerformance, VirtualNetworkGatewaySkuTierVpnGw1, VirtualNetworkGatewaySkuTierVpnGw2, VirtualNetworkGatewaySkuTierVpnGw3}
}
// VirtualNetworkGatewayType enumerates the values for virtual network gateway type.
type VirtualNetworkGatewayType string
const (
// VirtualNetworkGatewayTypeExpressRoute ...
VirtualNetworkGatewayTypeExpressRoute VirtualNetworkGatewayType = "ExpressRoute"
// VirtualNetworkGatewayTypeVpn ...
VirtualNetworkGatewayTypeVpn VirtualNetworkGatewayType = "Vpn"
)
// PossibleVirtualNetworkGatewayTypeValues returns an array of possible values for the VirtualNetworkGatewayType const type.
func PossibleVirtualNetworkGatewayTypeValues() []VirtualNetworkGatewayType {
return []VirtualNetworkGatewayType{VirtualNetworkGatewayTypeExpressRoute, VirtualNetworkGatewayTypeVpn}
}
// VirtualNetworkPeeringState enumerates the values for virtual network peering state.
type VirtualNetworkPeeringState string
const (
// Connected ...
Connected VirtualNetworkPeeringState = "Connected"
// Disconnected ...
Disconnected VirtualNetworkPeeringState = "Disconnected"
// Initiated ...
Initiated VirtualNetworkPeeringState = "Initiated"
)
// PossibleVirtualNetworkPeeringStateValues returns an array of possible values for the VirtualNetworkPeeringState const type.
func PossibleVirtualNetworkPeeringStateValues() []VirtualNetworkPeeringState {
return []VirtualNetworkPeeringState{Connected, Disconnected, Initiated}
}
// VpnClientProtocol enumerates the values for vpn client protocol.
type VpnClientProtocol string
const (
// IkeV2 ...
IkeV2 VpnClientProtocol = "IkeV2"
// SSTP ...
SSTP VpnClientProtocol = "SSTP"
)
// PossibleVpnClientProtocolValues returns an array of possible values for the VpnClientProtocol const type.
func PossibleVpnClientProtocolValues() []VpnClientProtocol {
return []VpnClientProtocol{IkeV2, SSTP}
}
// VpnType enumerates the values for vpn type.
type VpnType string
const (
// PolicyBased ...
PolicyBased VpnType = "PolicyBased"
// RouteBased ...
RouteBased VpnType = "RouteBased"
)
// PossibleVpnTypeValues returns an array of possible values for the VpnType const type.
func PossibleVpnTypeValues() []VpnType {
return []VpnType{PolicyBased, RouteBased}
}
// AddressSpace addressSpace contains an array of IP address ranges that can be used by subnets of the
// virtual network.
type AddressSpace struct {
// AddressPrefixes - A list of address blocks reserved for this virtual network in CIDR notation.
AddressPrefixes *[]string `json:"addressPrefixes,omitempty"`
}
// ApplicationGateway application gateway resource
type ApplicationGateway struct {
autorest.Response `json:"-"`
*ApplicationGatewayPropertiesFormat `json:"properties,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
// Name - READ-ONLY; Resource name.
Name *string `json:"name,omitempty"`
// Type - READ-ONLY; Resource type.
Type *string `json:"type,omitempty"`
// Location - Resource location.
Location *string `json:"location,omitempty"`
// Tags - Resource tags.
Tags map[string]*string `json:"tags"`
}
// MarshalJSON is the custom marshaler for ApplicationGateway.
func (ag ApplicationGateway) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if ag.ApplicationGatewayPropertiesFormat != nil {
objectMap["properties"] = ag.ApplicationGatewayPropertiesFormat
}
if ag.Etag != nil {
objectMap["etag"] = ag.Etag
}
if ag.ID != nil {
objectMap["id"] = ag.ID
}
if ag.Location != nil {
objectMap["location"] = ag.Location
}
if ag.Tags != nil {
objectMap["tags"] = ag.Tags
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGateway struct.
func (ag *ApplicationGateway) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayPropertiesFormat ApplicationGatewayPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayPropertiesFormat)
if err != nil {
return err
}
ag.ApplicationGatewayPropertiesFormat = &applicationGatewayPropertiesFormat
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
ag.Etag = &etag
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
ag.ID = &ID
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
ag.Name = &name
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
ag.Type = &typeVar
}
case "location":
if v != nil {
var location string
err = json.Unmarshal(*v, &location)
if err != nil {
return err
}
ag.Location = &location
}
case "tags":
if v != nil {
var tags map[string]*string
err = json.Unmarshal(*v, &tags)
if err != nil {
return err
}
ag.Tags = tags
}
}
}
return nil
}
// ApplicationGatewayAuthenticationCertificate authentication certificates of an application gateway.
type ApplicationGatewayAuthenticationCertificate struct {
*ApplicationGatewayAuthenticationCertificatePropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayAuthenticationCertificate.
func (agac ApplicationGatewayAuthenticationCertificate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat != nil {
objectMap["properties"] = agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat
}
if agac.Name != nil {
objectMap["name"] = agac.Name
}
if agac.Etag != nil {
objectMap["etag"] = agac.Etag
}
if agac.Type != nil {
objectMap["type"] = agac.Type
}
if agac.ID != nil {
objectMap["id"] = agac.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayAuthenticationCertificate struct.
func (agac *ApplicationGatewayAuthenticationCertificate) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayAuthenticationCertificatePropertiesFormat ApplicationGatewayAuthenticationCertificatePropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayAuthenticationCertificatePropertiesFormat)
if err != nil {
return err
}
agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat = &applicationGatewayAuthenticationCertificatePropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agac.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agac.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agac.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agac.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayAuthenticationCertificatePropertiesFormat authentication certificates properties of an
// application gateway.
type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct {
// Data - Certificate public data.
Data *string `json:"data,omitempty"`
// ProvisioningState - Provisioning state of the authentication certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayAvailableSslOptions response for ApplicationGatewayAvailableSslOptions API service
// call.
type ApplicationGatewayAvailableSslOptions struct {
autorest.Response `json:"-"`
*ApplicationGatewayAvailableSslOptionsPropertiesFormat `json:"properties,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
// Name - READ-ONLY; Resource name.
Name *string `json:"name,omitempty"`
// Type - READ-ONLY; Resource type.
Type *string `json:"type,omitempty"`
// Location - Resource location.
Location *string `json:"location,omitempty"`
// Tags - Resource tags.
Tags map[string]*string `json:"tags"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayAvailableSslOptions.
func (agaso ApplicationGatewayAvailableSslOptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat != nil {
objectMap["properties"] = agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat
}
if agaso.ID != nil {
objectMap["id"] = agaso.ID
}
if agaso.Location != nil {
objectMap["location"] = agaso.Location
}
if agaso.Tags != nil {
objectMap["tags"] = agaso.Tags
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayAvailableSslOptions struct.
func (agaso *ApplicationGatewayAvailableSslOptions) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayAvailableSslOptionsPropertiesFormat ApplicationGatewayAvailableSslOptionsPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayAvailableSslOptionsPropertiesFormat)
if err != nil {
return err
}
agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat = &applicationGatewayAvailableSslOptionsPropertiesFormat
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agaso.ID = &ID
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agaso.Name = &name
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agaso.Type = &typeVar
}
case "location":
if v != nil {
var location string
err = json.Unmarshal(*v, &location)
if err != nil {
return err
}
agaso.Location = &location
}
case "tags":
if v != nil {
var tags map[string]*string
err = json.Unmarshal(*v, &tags)
if err != nil {
return err
}
agaso.Tags = tags
}
}
}
return nil
}
// ApplicationGatewayAvailableSslOptionsPropertiesFormat properties of
// ApplicationGatewayAvailableSslOptions
type ApplicationGatewayAvailableSslOptionsPropertiesFormat struct {
// PredefinedPolicies - List of available Ssl predefined policy.
PredefinedPolicies *[]SubResource `json:"predefinedPolicies,omitempty"`
// DefaultPolicy - Name of the Ssl predefined policy applied by default to application gateway. Possible values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S'
DefaultPolicy ApplicationGatewaySslPolicyName `json:"defaultPolicy,omitempty"`
// AvailableCipherSuites - List of available Ssl cipher suites.
AvailableCipherSuites *[]ApplicationGatewaySslCipherSuite `json:"availableCipherSuites,omitempty"`
// AvailableProtocols - List of available Ssl protocols.
AvailableProtocols *[]ApplicationGatewaySslProtocol `json:"availableProtocols,omitempty"`
}
// ApplicationGatewayAvailableSslPredefinedPolicies response for ApplicationGatewayAvailableSslOptions API
// service call.
type ApplicationGatewayAvailableSslPredefinedPolicies struct {
autorest.Response `json:"-"`
// Value - List of available Ssl predefined policy.
Value *[]ApplicationGatewaySslPredefinedPolicy `json:"value,omitempty"`
// NextLink - URL to get the next set of results.
NextLink *string `json:"nextLink,omitempty"`
}
// ApplicationGatewayAvailableSslPredefinedPoliciesIterator provides access to a complete listing of
// ApplicationGatewaySslPredefinedPolicy values.
type ApplicationGatewayAvailableSslPredefinedPoliciesIterator struct {
i int
page ApplicationGatewayAvailableSslPredefinedPoliciesPage
}
// NextWithContext advances to the next value. If there was an error making
// the request the iterator does not advance and the error is returned.
func (iter *ApplicationGatewayAvailableSslPredefinedPoliciesIterator) NextWithContext(ctx context.Context) (err error) {
if tracing.IsEnabled() {
ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayAvailableSslPredefinedPoliciesIterator.NextWithContext")
defer func() {
sc := -1
if iter.Response().Response.Response != nil {
sc = iter.Response().Response.Response.StatusCode
}
tracing.EndSpan(ctx, sc, err)
}()
}
iter.i++
if iter.i < len(iter.page.Values()) {
return nil
}
err = iter.page.NextWithContext(ctx)
if err != nil {
iter.i--
return err
}
iter.i = 0
return nil
}
// Next advances to the next value. If there was an error making
// the request the iterator does not advance and the error is returned.
// Deprecated: Use NextWithContext() instead.
func (iter *ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Next() error {
return iter.NextWithContext(context.Background())
}
// NotDone returns true if the enumeration should be started or is not yet complete.
func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) NotDone() bool {
return iter.page.NotDone() && iter.i < len(iter.page.Values())
}
// Response returns the raw server response from the last page request.
func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Response() ApplicationGatewayAvailableSslPredefinedPolicies {
return iter.page.Response()
}
// Value returns the current value or a zero-initialized value if the
// iterator has advanced beyond the end of the collection.
func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Value() ApplicationGatewaySslPredefinedPolicy {
if !iter.page.NotDone() {
return ApplicationGatewaySslPredefinedPolicy{}
}
return iter.page.Values()[iter.i]
}
// Creates a new instance of the ApplicationGatewayAvailableSslPredefinedPoliciesIterator type.
func NewApplicationGatewayAvailableSslPredefinedPoliciesIterator(page ApplicationGatewayAvailableSslPredefinedPoliciesPage) ApplicationGatewayAvailableSslPredefinedPoliciesIterator {
return ApplicationGatewayAvailableSslPredefinedPoliciesIterator{page: page}
}
// IsEmpty returns true if the ListResult contains no values.
func (agaspp ApplicationGatewayAvailableSslPredefinedPolicies) IsEmpty() bool {
return agaspp.Value == nil || len(*agaspp.Value) == 0
}
// applicationGatewayAvailableSslPredefinedPoliciesPreparer prepares a request to retrieve the next set of results.
// It returns nil if no more results exist.
func (agaspp ApplicationGatewayAvailableSslPredefinedPolicies) applicationGatewayAvailableSslPredefinedPoliciesPreparer(ctx context.Context) (*http.Request, error) {
if agaspp.NextLink == nil || len(to.String(agaspp.NextLink)) < 1 {
return nil, nil
}
return autorest.Prepare((&http.Request{}).WithContext(ctx),
autorest.AsJSON(),
autorest.AsGet(),
autorest.WithBaseURL(to.String(agaspp.NextLink)))
}
// ApplicationGatewayAvailableSslPredefinedPoliciesPage contains a page of
// ApplicationGatewaySslPredefinedPolicy values.
type ApplicationGatewayAvailableSslPredefinedPoliciesPage struct {
fn func(context.Context, ApplicationGatewayAvailableSslPredefinedPolicies) (ApplicationGatewayAvailableSslPredefinedPolicies, error)
agaspp ApplicationGatewayAvailableSslPredefinedPolicies
}
// NextWithContext advances to the next page of values. If there was an error making
// the request the page does not advance and the error is returned.
func (page *ApplicationGatewayAvailableSslPredefinedPoliciesPage) NextWithContext(ctx context.Context) (err error) {
if tracing.IsEnabled() {
ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayAvailableSslPredefinedPoliciesPage.NextWithContext")
defer func() {
sc := -1
if page.Response().Response.Response != nil {
sc = page.Response().Response.Response.StatusCode
}
tracing.EndSpan(ctx, sc, err)
}()
}
next, err := page.fn(ctx, page.agaspp)
if err != nil {
return err
}
page.agaspp = next
return nil
}
// Next advances to the next page of values. If there was an error making
// the request the page does not advance and the error is returned.
// Deprecated: Use NextWithContext() instead.
func (page *ApplicationGatewayAvailableSslPredefinedPoliciesPage) Next() error {
return page.NextWithContext(context.Background())
}
// NotDone returns true if the page enumeration should be started or is not yet complete.
func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) NotDone() bool {
return !page.agaspp.IsEmpty()
}
// Response returns the raw server response from the last page request.
func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) Response() ApplicationGatewayAvailableSslPredefinedPolicies {
return page.agaspp
}
// Values returns the slice of values for the current page or nil if there are no values.
func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) Values() []ApplicationGatewaySslPredefinedPolicy {
if page.agaspp.IsEmpty() {
return nil
}
return *page.agaspp.Value
}
// Creates a new instance of the ApplicationGatewayAvailableSslPredefinedPoliciesPage type.
func NewApplicationGatewayAvailableSslPredefinedPoliciesPage(getNextPage func(context.Context, ApplicationGatewayAvailableSslPredefinedPolicies) (ApplicationGatewayAvailableSslPredefinedPolicies, error)) ApplicationGatewayAvailableSslPredefinedPoliciesPage {
return ApplicationGatewayAvailableSslPredefinedPoliciesPage{fn: getNextPage}
}
// ApplicationGatewayAvailableWafRuleSetsResult response for ApplicationGatewayAvailableWafRuleSets API
// service call.
type ApplicationGatewayAvailableWafRuleSetsResult struct {
autorest.Response `json:"-"`
// Value - The list of application gateway rule sets.
Value *[]ApplicationGatewayFirewallRuleSet `json:"value,omitempty"`
}
// ApplicationGatewayBackendAddress backend address of an application gateway.
type ApplicationGatewayBackendAddress struct {
// Fqdn - Fully qualified domain name (FQDN).
Fqdn *string `json:"fqdn,omitempty"`
// IPAddress - IP address
IPAddress *string `json:"ipAddress,omitempty"`
}
// ApplicationGatewayBackendAddressPool backend Address Pool of an application gateway.
type ApplicationGatewayBackendAddressPool struct {
*ApplicationGatewayBackendAddressPoolPropertiesFormat `json:"properties,omitempty"`
// Name - Resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayBackendAddressPool.
func (agbap ApplicationGatewayBackendAddressPool) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat != nil {
objectMap["properties"] = agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat
}
if agbap.Name != nil {
objectMap["name"] = agbap.Name
}
if agbap.Etag != nil {
objectMap["etag"] = agbap.Etag
}
if agbap.Type != nil {
objectMap["type"] = agbap.Type
}
if agbap.ID != nil {
objectMap["id"] = agbap.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayBackendAddressPool struct.
func (agbap *ApplicationGatewayBackendAddressPool) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayBackendAddressPoolPropertiesFormat ApplicationGatewayBackendAddressPoolPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayBackendAddressPoolPropertiesFormat)
if err != nil {
return err
}
agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat = &applicationGatewayBackendAddressPoolPropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agbap.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agbap.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agbap.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agbap.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayBackendAddressPoolPropertiesFormat properties of Backend Address Pool of an
// application gateway.
type ApplicationGatewayBackendAddressPoolPropertiesFormat struct {
// BackendIPConfigurations - Collection of references to IPs defined in network interfaces.
BackendIPConfigurations *[]InterfaceIPConfiguration `json:"backendIPConfigurations,omitempty"`
// BackendAddresses - Backend addresses
BackendAddresses *[]ApplicationGatewayBackendAddress `json:"backendAddresses,omitempty"`
// ProvisioningState - Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayBackendHealth list of ApplicationGatewayBackendHealthPool resources.
type ApplicationGatewayBackendHealth struct {
autorest.Response `json:"-"`
BackendAddressPools *[]ApplicationGatewayBackendHealthPool `json:"backendAddressPools,omitempty"`
}
// ApplicationGatewayBackendHealthHTTPSettings application gateway BackendHealthHttp settings.
type ApplicationGatewayBackendHealthHTTPSettings struct {
// BackendHTTPSettings - Reference of an ApplicationGatewayBackendHttpSettings resource.
BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettings,omitempty"`
// Servers - List of ApplicationGatewayBackendHealthServer resources.
Servers *[]ApplicationGatewayBackendHealthServer `json:"servers,omitempty"`
}
// ApplicationGatewayBackendHealthPool application gateway BackendHealth pool.
type ApplicationGatewayBackendHealthPool struct {
// BackendAddressPool - Reference of an ApplicationGatewayBackendAddressPool resource.
BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"`
// BackendHTTPSettingsCollection - List of ApplicationGatewayBackendHealthHttpSettings resources.
BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHealthHTTPSettings `json:"backendHttpSettingsCollection,omitempty"`
}
// ApplicationGatewayBackendHealthServer application gateway backendhealth http settings.
type ApplicationGatewayBackendHealthServer struct {
// Address - IP address or FQDN of backend server.
Address *string `json:"address,omitempty"`
// IPConfiguration - Reference of IP configuration of backend server.
IPConfiguration *InterfaceIPConfiguration `json:"ipConfiguration,omitempty"`
// Health - Health of backend server. Possible values include: 'Unknown', 'Up', 'Down', 'Partial', 'Draining'
Health ApplicationGatewayBackendHealthServerHealth `json:"health,omitempty"`
}
// ApplicationGatewayBackendHTTPSettings backend address pool settings of an application gateway.
type ApplicationGatewayBackendHTTPSettings struct {
*ApplicationGatewayBackendHTTPSettingsPropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayBackendHTTPSettings.
func (agbhs ApplicationGatewayBackendHTTPSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat != nil {
objectMap["properties"] = agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat
}
if agbhs.Name != nil {
objectMap["name"] = agbhs.Name
}
if agbhs.Etag != nil {
objectMap["etag"] = agbhs.Etag
}
if agbhs.Type != nil {
objectMap["type"] = agbhs.Type
}
if agbhs.ID != nil {
objectMap["id"] = agbhs.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayBackendHTTPSettings struct.
func (agbhs *ApplicationGatewayBackendHTTPSettings) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayBackendHTTPSettingsPropertiesFormat ApplicationGatewayBackendHTTPSettingsPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayBackendHTTPSettingsPropertiesFormat)
if err != nil {
return err
}
agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat = &applicationGatewayBackendHTTPSettingsPropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agbhs.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agbhs.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agbhs.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agbhs.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayBackendHTTPSettingsPropertiesFormat properties of Backend address pool settings of an
// application gateway.
type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct {
// Port - Port
Port *int32 `json:"port,omitempty"`
// Protocol - Protocol. Possible values include: 'HTTP', 'HTTPS'
Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"`
// CookieBasedAffinity - Cookie based affinity. Possible values include: 'Enabled', 'Disabled'
CookieBasedAffinity ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"`
// RequestTimeout - Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds.
RequestTimeout *int32 `json:"requestTimeout,omitempty"`
// Probe - Probe resource of an application gateway.
Probe *SubResource `json:"probe,omitempty"`
// AuthenticationCertificates - Array of references to application gateway authentication certificates.
AuthenticationCertificates *[]SubResource `json:"authenticationCertificates,omitempty"`
// ConnectionDraining - Connection draining of the backend http settings resource.
ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"`
// HostName - Host header to be sent to the backend servers.
HostName *string `json:"hostName,omitempty"`
// PickHostNameFromBackendAddress - Whether to pick host header should be picked from the host name of the backend server. Default value is false.
PickHostNameFromBackendAddress *bool `json:"pickHostNameFromBackendAddress,omitempty"`
// AffinityCookieName - Cookie name to use for the affinity cookie.
AffinityCookieName *string `json:"affinityCookieName,omitempty"`
// ProbeEnabled - Whether the probe is enabled. Default value is false.
ProbeEnabled *bool `json:"probeEnabled,omitempty"`
// Path - Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null.
Path *string `json:"path,omitempty"`
// ProvisioningState - Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayConnectionDraining connection draining allows open connections to a backend server to
// be active for a specified time after the backend server got removed from the configuration.
type ApplicationGatewayConnectionDraining struct {
// Enabled - Whether connection draining is enabled or not.
Enabled *bool `json:"enabled,omitempty"`
// DrainTimeoutInSec - The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
DrainTimeoutInSec *int32 `json:"drainTimeoutInSec,omitempty"`
}
// ApplicationGatewayFirewallDisabledRuleGroup allows to disable rules within a rule group or an entire
// rule group.
type ApplicationGatewayFirewallDisabledRuleGroup struct {
// RuleGroupName - The name of the rule group that will be disabled.
RuleGroupName *string `json:"ruleGroupName,omitempty"`
// Rules - The list of rules that will be disabled. If null, all rules of the rule group will be disabled.
Rules *[]int32 `json:"rules,omitempty"`
}
// ApplicationGatewayFirewallRule a web application firewall rule.
type ApplicationGatewayFirewallRule struct {
// RuleID - The identifier of the web application firewall rule.
RuleID *int32 `json:"ruleId,omitempty"`
// Description - The description of the web application firewall rule.
Description *string `json:"description,omitempty"`
}
// ApplicationGatewayFirewallRuleGroup a web application firewall rule group.
type ApplicationGatewayFirewallRuleGroup struct {
// RuleGroupName - The name of the web application firewall rule group.
RuleGroupName *string `json:"ruleGroupName,omitempty"`
// Description - The description of the web application firewall rule group.
Description *string `json:"description,omitempty"`
// Rules - The rules of the web application firewall rule group.
Rules *[]ApplicationGatewayFirewallRule `json:"rules,omitempty"`
}
// ApplicationGatewayFirewallRuleSet a web application firewall rule set.
type ApplicationGatewayFirewallRuleSet struct {
*ApplicationGatewayFirewallRuleSetPropertiesFormat `json:"properties,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
// Name - READ-ONLY; Resource name.
Name *string `json:"name,omitempty"`
// Type - READ-ONLY; Resource type.
Type *string `json:"type,omitempty"`
// Location - Resource location.
Location *string `json:"location,omitempty"`
// Tags - Resource tags.
Tags map[string]*string `json:"tags"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayFirewallRuleSet.
func (agfrs ApplicationGatewayFirewallRuleSet) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat != nil {
objectMap["properties"] = agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat
}
if agfrs.ID != nil {
objectMap["id"] = agfrs.ID
}
if agfrs.Location != nil {
objectMap["location"] = agfrs.Location
}
if agfrs.Tags != nil {
objectMap["tags"] = agfrs.Tags
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFirewallRuleSet struct.
func (agfrs *ApplicationGatewayFirewallRuleSet) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayFirewallRuleSetPropertiesFormat ApplicationGatewayFirewallRuleSetPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayFirewallRuleSetPropertiesFormat)
if err != nil {
return err
}
agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat = &applicationGatewayFirewallRuleSetPropertiesFormat
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agfrs.ID = &ID
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agfrs.Name = &name
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agfrs.Type = &typeVar
}
case "location":
if v != nil {
var location string
err = json.Unmarshal(*v, &location)
if err != nil {
return err
}
agfrs.Location = &location
}
case "tags":
if v != nil {
var tags map[string]*string
err = json.Unmarshal(*v, &tags)
if err != nil {
return err
}
agfrs.Tags = tags
}
}
}
return nil
}
// ApplicationGatewayFirewallRuleSetPropertiesFormat properties of the web application firewall rule set.
type ApplicationGatewayFirewallRuleSetPropertiesFormat struct {
// ProvisioningState - The provisioning state of the web application firewall rule set.
ProvisioningState *string `json:"provisioningState,omitempty"`
// RuleSetType - The type of the web application firewall rule set.
RuleSetType *string `json:"ruleSetType,omitempty"`
// RuleSetVersion - The version of the web application firewall rule set type.
RuleSetVersion *string `json:"ruleSetVersion,omitempty"`
// RuleGroups - The rule groups of the web application firewall rule set.
RuleGroups *[]ApplicationGatewayFirewallRuleGroup `json:"ruleGroups,omitempty"`
}
// ApplicationGatewayFrontendIPConfiguration frontend IP configuration of an application gateway.
type ApplicationGatewayFrontendIPConfiguration struct {
*ApplicationGatewayFrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayFrontendIPConfiguration.
func (agfic ApplicationGatewayFrontendIPConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat != nil {
objectMap["properties"] = agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat
}
if agfic.Name != nil {
objectMap["name"] = agfic.Name
}
if agfic.Etag != nil {
objectMap["etag"] = agfic.Etag
}
if agfic.Type != nil {
objectMap["type"] = agfic.Type
}
if agfic.ID != nil {
objectMap["id"] = agfic.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFrontendIPConfiguration struct.
func (agfic *ApplicationGatewayFrontendIPConfiguration) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayFrontendIPConfigurationPropertiesFormat ApplicationGatewayFrontendIPConfigurationPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayFrontendIPConfigurationPropertiesFormat)
if err != nil {
return err
}
agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat = &applicationGatewayFrontendIPConfigurationPropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agfic.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agfic.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agfic.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agfic.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayFrontendIPConfigurationPropertiesFormat properties of Frontend IP configuration of an
// application gateway.
type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct {
// PrivateIPAddress - PrivateIPAddress of the network interface IP Configuration.
PrivateIPAddress *string `json:"privateIPAddress,omitempty"`
// PrivateIPAllocationMethod - PrivateIP allocation method. Possible values include: 'Static', 'Dynamic'
PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"`
// Subnet - Reference of the subnet resource.
Subnet *SubResource `json:"subnet,omitempty"`
// PublicIPAddress - Reference of the PublicIP resource.
PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"`
// ProvisioningState - Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayFrontendPort frontend port of an application gateway.
type ApplicationGatewayFrontendPort struct {
*ApplicationGatewayFrontendPortPropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayFrontendPort.
func (agfp ApplicationGatewayFrontendPort) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agfp.ApplicationGatewayFrontendPortPropertiesFormat != nil {
objectMap["properties"] = agfp.ApplicationGatewayFrontendPortPropertiesFormat
}
if agfp.Name != nil {
objectMap["name"] = agfp.Name
}
if agfp.Etag != nil {
objectMap["etag"] = agfp.Etag
}
if agfp.Type != nil {
objectMap["type"] = agfp.Type
}
if agfp.ID != nil {
objectMap["id"] = agfp.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFrontendPort struct.
func (agfp *ApplicationGatewayFrontendPort) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayFrontendPortPropertiesFormat ApplicationGatewayFrontendPortPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayFrontendPortPropertiesFormat)
if err != nil {
return err
}
agfp.ApplicationGatewayFrontendPortPropertiesFormat = &applicationGatewayFrontendPortPropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agfp.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agfp.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agfp.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agfp.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayFrontendPortPropertiesFormat properties of Frontend port of an application gateway.
type ApplicationGatewayFrontendPortPropertiesFormat struct {
// Port - Frontend port
Port *int32 `json:"port,omitempty"`
// ProvisioningState - Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayHTTPListener http listener of an application gateway.
type ApplicationGatewayHTTPListener struct {
*ApplicationGatewayHTTPListenerPropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayHTTPListener.
func (aghl ApplicationGatewayHTTPListener) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if aghl.ApplicationGatewayHTTPListenerPropertiesFormat != nil {
objectMap["properties"] = aghl.ApplicationGatewayHTTPListenerPropertiesFormat
}
if aghl.Name != nil {
objectMap["name"] = aghl.Name
}
if aghl.Etag != nil {
objectMap["etag"] = aghl.Etag
}
if aghl.Type != nil {
objectMap["type"] = aghl.Type
}
if aghl.ID != nil {
objectMap["id"] = aghl.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayHTTPListener struct.
func (aghl *ApplicationGatewayHTTPListener) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayHTTPListenerPropertiesFormat ApplicationGatewayHTTPListenerPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayHTTPListenerPropertiesFormat)
if err != nil {
return err
}
aghl.ApplicationGatewayHTTPListenerPropertiesFormat = &applicationGatewayHTTPListenerPropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
aghl.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
aghl.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
aghl.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
aghl.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayHTTPListenerPropertiesFormat properties of HTTP listener of an application gateway.
type ApplicationGatewayHTTPListenerPropertiesFormat struct {
// FrontendIPConfiguration - Frontend IP configuration resource of an application gateway.
FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"`
// FrontendPort - Frontend port resource of an application gateway.
FrontendPort *SubResource `json:"frontendPort,omitempty"`
// Protocol - Protocol. Possible values include: 'HTTP', 'HTTPS'
Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"`
// HostName - Host name of HTTP listener.
HostName *string `json:"hostName,omitempty"`
// SslCertificate - SSL certificate resource of an application gateway.
SslCertificate *SubResource `json:"sslCertificate,omitempty"`
// RequireServerNameIndication - Applicable only if protocol is https. Enables SNI for multi-hosting.
RequireServerNameIndication *bool `json:"requireServerNameIndication,omitempty"`
// ProvisioningState - Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayIPConfiguration IP configuration of an application gateway. Currently 1 public and 1
// private IP configuration is allowed.
type ApplicationGatewayIPConfiguration struct {
*ApplicationGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayIPConfiguration.
func (agic ApplicationGatewayIPConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agic.ApplicationGatewayIPConfigurationPropertiesFormat != nil {
objectMap["properties"] = agic.ApplicationGatewayIPConfigurationPropertiesFormat
}
if agic.Name != nil {
objectMap["name"] = agic.Name
}
if agic.Etag != nil {
objectMap["etag"] = agic.Etag
}
if agic.Type != nil {
objectMap["type"] = agic.Type
}
if agic.ID != nil {
objectMap["id"] = agic.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayIPConfiguration struct.
func (agic *ApplicationGatewayIPConfiguration) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayIPConfigurationPropertiesFormat ApplicationGatewayIPConfigurationPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayIPConfigurationPropertiesFormat)
if err != nil {
return err
}
agic.ApplicationGatewayIPConfigurationPropertiesFormat = &applicationGatewayIPConfigurationPropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agic.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agic.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agic.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agic.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayIPConfigurationPropertiesFormat properties of IP configuration of an application
// gateway.
type ApplicationGatewayIPConfigurationPropertiesFormat struct {
// Subnet - Reference of the subnet resource. A subnet from where application gateway gets its private address.
Subnet *SubResource `json:"subnet,omitempty"`
// ProvisioningState - Provisioning state of the application gateway subnet resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayListResult response for ListApplicationGateways API service call.
type ApplicationGatewayListResult struct {
autorest.Response `json:"-"`
// Value - List of an application gateways in a resource group.
Value *[]ApplicationGateway `json:"value,omitempty"`
// NextLink - URL to get the next set of results.
NextLink *string `json:"nextLink,omitempty"`
}
// ApplicationGatewayListResultIterator provides access to a complete listing of ApplicationGateway values.
type ApplicationGatewayListResultIterator struct {
i int
page ApplicationGatewayListResultPage
}
// NextWithContext advances to the next value. If there was an error making
// the request the iterator does not advance and the error is returned.
func (iter *ApplicationGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) {
if tracing.IsEnabled() {
ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayListResultIterator.NextWithContext")
defer func() {
sc := -1
if iter.Response().Response.Response != nil {
sc = iter.Response().Response.Response.StatusCode
}
tracing.EndSpan(ctx, sc, err)
}()
}
iter.i++
if iter.i < len(iter.page.Values()) {
return nil
}
err = iter.page.NextWithContext(ctx)
if err != nil {
iter.i--
return err
}
iter.i = 0
return nil
}
// Next advances to the next value. If there was an error making
// the request the iterator does not advance and the error is returned.
// Deprecated: Use NextWithContext() instead.
func (iter *ApplicationGatewayListResultIterator) Next() error {
return iter.NextWithContext(context.Background())
}
// NotDone returns true if the enumeration should be started or is not yet complete.
func (iter ApplicationGatewayListResultIterator) NotDone() bool {
return iter.page.NotDone() && iter.i < len(iter.page.Values())
}
// Response returns the raw server response from the last page request.
func (iter ApplicationGatewayListResultIterator) Response() ApplicationGatewayListResult {
return iter.page.Response()
}
// Value returns the current value or a zero-initialized value if the
// iterator has advanced beyond the end of the collection.
func (iter ApplicationGatewayListResultIterator) Value() ApplicationGateway {
if !iter.page.NotDone() {
return ApplicationGateway{}
}
return iter.page.Values()[iter.i]
}
// Creates a new instance of the ApplicationGatewayListResultIterator type.
func NewApplicationGatewayListResultIterator(page ApplicationGatewayListResultPage) ApplicationGatewayListResultIterator {
return ApplicationGatewayListResultIterator{page: page}
}
// IsEmpty returns true if the ListResult contains no values.
func (aglr ApplicationGatewayListResult) IsEmpty() bool {
return aglr.Value == nil || len(*aglr.Value) == 0
}
// applicationGatewayListResultPreparer prepares a request to retrieve the next set of results.
// It returns nil if no more results exist.
func (aglr ApplicationGatewayListResult) applicationGatewayListResultPreparer(ctx context.Context) (*http.Request, error) {
if aglr.NextLink == nil || len(to.String(aglr.NextLink)) < 1 {
return nil, nil
}
return autorest.Prepare((&http.Request{}).WithContext(ctx),
autorest.AsJSON(),
autorest.AsGet(),
autorest.WithBaseURL(to.String(aglr.NextLink)))
}
// ApplicationGatewayListResultPage contains a page of ApplicationGateway values.
type ApplicationGatewayListResultPage struct {
fn func(context.Context, ApplicationGatewayListResult) (ApplicationGatewayListResult, error)
aglr ApplicationGatewayListResult
}
// NextWithContext advances to the next page of values. If there was an error making
// the request the page does not advance and the error is returned.
func (page *ApplicationGatewayListResultPage) NextWithContext(ctx context.Context) (err error) {
if tracing.IsEnabled() {
ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayListResultPage.NextWithContext")
defer func() {
sc := -1
if page.Response().Response.Response != nil {
sc = page.Response().Response.Response.StatusCode
}
tracing.EndSpan(ctx, sc, err)
}()
}
next, err := page.fn(ctx, page.aglr)
if err != nil {
return err
}
page.aglr = next
return nil
}
// Next advances to the next page of values. If there was an error making
// the request the page does not advance and the error is returned.
// Deprecated: Use NextWithContext() instead.
func (page *ApplicationGatewayListResultPage) Next() error {
return page.NextWithContext(context.Background())
}
// NotDone returns true if the page enumeration should be started or is not yet complete.
func (page ApplicationGatewayListResultPage) NotDone() bool {
return !page.aglr.IsEmpty()
}
// Response returns the raw server response from the last page request.
func (page ApplicationGatewayListResultPage) Response() ApplicationGatewayListResult {
return page.aglr
}
// Values returns the slice of values for the current page or nil if there are no values.
func (page ApplicationGatewayListResultPage) Values() []ApplicationGateway {
if page.aglr.IsEmpty() {
return nil
}
return *page.aglr.Value
}
// Creates a new instance of the ApplicationGatewayListResultPage type.
func NewApplicationGatewayListResultPage(getNextPage func(context.Context, ApplicationGatewayListResult) (ApplicationGatewayListResult, error)) ApplicationGatewayListResultPage {
return ApplicationGatewayListResultPage{fn: getNextPage}
}
// ApplicationGatewayPathRule path rule of URL path map of an application gateway.
type ApplicationGatewayPathRule struct {
*ApplicationGatewayPathRulePropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayPathRule.
func (agpr ApplicationGatewayPathRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agpr.ApplicationGatewayPathRulePropertiesFormat != nil {
objectMap["properties"] = agpr.ApplicationGatewayPathRulePropertiesFormat
}
if agpr.Name != nil {
objectMap["name"] = agpr.Name
}
if agpr.Etag != nil {
objectMap["etag"] = agpr.Etag
}
if agpr.Type != nil {
objectMap["type"] = agpr.Type
}
if agpr.ID != nil {
objectMap["id"] = agpr.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayPathRule struct.
func (agpr *ApplicationGatewayPathRule) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayPathRulePropertiesFormat ApplicationGatewayPathRulePropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayPathRulePropertiesFormat)
if err != nil {
return err
}
agpr.ApplicationGatewayPathRulePropertiesFormat = &applicationGatewayPathRulePropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agpr.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agpr.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agpr.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agpr.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayPathRulePropertiesFormat properties of path rule of an application gateway.
type ApplicationGatewayPathRulePropertiesFormat struct {
// Paths - Path rules of URL path map.
Paths *[]string `json:"paths,omitempty"`
// BackendAddressPool - Backend address pool resource of URL path map path rule.
BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"`
// BackendHTTPSettings - Backend http settings resource of URL path map path rule.
BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"`
// RedirectConfiguration - Redirect configuration resource of URL path map path rule.
RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"`
// ProvisioningState - Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayProbe probe of the application gateway.
type ApplicationGatewayProbe struct {
*ApplicationGatewayProbePropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayProbe.
func (agp ApplicationGatewayProbe) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agp.ApplicationGatewayProbePropertiesFormat != nil {
objectMap["properties"] = agp.ApplicationGatewayProbePropertiesFormat
}
if agp.Name != nil {
objectMap["name"] = agp.Name
}
if agp.Etag != nil {
objectMap["etag"] = agp.Etag
}
if agp.Type != nil {
objectMap["type"] = agp.Type
}
if agp.ID != nil {
objectMap["id"] = agp.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayProbe struct.
func (agp *ApplicationGatewayProbe) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayProbePropertiesFormat ApplicationGatewayProbePropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayProbePropertiesFormat)
if err != nil {
return err
}
agp.ApplicationGatewayProbePropertiesFormat = &applicationGatewayProbePropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agp.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agp.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agp.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agp.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayProbeHealthResponseMatch application gateway probe health response match
type ApplicationGatewayProbeHealthResponseMatch struct {
// Body - Body that must be contained in the health response. Default value is empty.
Body *string `json:"body,omitempty"`
// StatusCodes - Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399.
StatusCodes *[]string `json:"statusCodes,omitempty"`
}
// ApplicationGatewayProbePropertiesFormat properties of probe of an application gateway.
type ApplicationGatewayProbePropertiesFormat struct {
// Protocol - Protocol. Possible values include: 'HTTP', 'HTTPS'
Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"`
// Host - Host name to send the probe to.
Host *string `json:"host,omitempty"`
// Path - Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>
Path *string `json:"path,omitempty"`
// Interval - The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds.
Interval *int32 `json:"interval,omitempty"`
// Timeout - the probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds.
Timeout *int32 `json:"timeout,omitempty"`
// UnhealthyThreshold - The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20.
UnhealthyThreshold *int32 `json:"unhealthyThreshold,omitempty"`
// PickHostNameFromBackendHTTPSettings - Whether the host header should be picked from the backend http settings. Default value is false.
PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"`
// MinServers - Minimum number of servers that are always marked healthy. Default value is 0.
MinServers *int32 `json:"minServers,omitempty"`
// Match - Criterion for classifying a healthy probe response.
Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"`
// ProvisioningState - Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayPropertiesFormat properties of the application gateway.
type ApplicationGatewayPropertiesFormat struct {
// Sku - SKU of the application gateway resource.
Sku *ApplicationGatewaySku `json:"sku,omitempty"`
// SslPolicy - SSL policy of the application gateway resource.
SslPolicy *ApplicationGatewaySslPolicy `json:"sslPolicy,omitempty"`
// OperationalState - READ-ONLY; Operational state of the application gateway resource. Possible values include: 'Stopped', 'Starting', 'Running', 'Stopping'
OperationalState ApplicationGatewayOperationalState `json:"operationalState,omitempty"`
// GatewayIPConfigurations - Subnets of application the gateway resource.
GatewayIPConfigurations *[]ApplicationGatewayIPConfiguration `json:"gatewayIPConfigurations,omitempty"`
// AuthenticationCertificates - Authentication certificates of the application gateway resource.
AuthenticationCertificates *[]ApplicationGatewayAuthenticationCertificate `json:"authenticationCertificates,omitempty"`
// SslCertificates - SSL certificates of the application gateway resource.
SslCertificates *[]ApplicationGatewaySslCertificate `json:"sslCertificates,omitempty"`
// FrontendIPConfigurations - Frontend IP addresses of the application gateway resource.
FrontendIPConfigurations *[]ApplicationGatewayFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"`
// FrontendPorts - Frontend ports of the application gateway resource.
FrontendPorts *[]ApplicationGatewayFrontendPort `json:"frontendPorts,omitempty"`
// Probes - Probes of the application gateway resource.
Probes *[]ApplicationGatewayProbe `json:"probes,omitempty"`
// BackendAddressPools - Backend address pool of the application gateway resource.
BackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"backendAddressPools,omitempty"`
// BackendHTTPSettingsCollection - Backend http settings of the application gateway resource.
BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettingsCollection,omitempty"`
// HTTPListeners - Http listeners of the application gateway resource.
HTTPListeners *[]ApplicationGatewayHTTPListener `json:"httpListeners,omitempty"`
// URLPathMaps - URL path map of the application gateway resource.
URLPathMaps *[]ApplicationGatewayURLPathMap `json:"urlPathMaps,omitempty"`
// RequestRoutingRules - Request routing rules of the application gateway resource.
RequestRoutingRules *[]ApplicationGatewayRequestRoutingRule `json:"requestRoutingRules,omitempty"`
// RedirectConfigurations - Redirect configurations of the application gateway resource.
RedirectConfigurations *[]ApplicationGatewayRedirectConfiguration `json:"redirectConfigurations,omitempty"`
// WebApplicationFirewallConfiguration - Web application firewall configuration.
WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration `json:"webApplicationFirewallConfiguration,omitempty"`
// EnableHTTP2 - Whether HTTP2 is enabled on the application gateway resource.
EnableHTTP2 *bool `json:"enableHttp2,omitempty"`
// ResourceGUID - Resource GUID property of the application gateway resource.
ResourceGUID *string `json:"resourceGuid,omitempty"`
// ProvisioningState - Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewayRedirectConfiguration redirect configuration of an application gateway.
type ApplicationGatewayRedirectConfiguration struct {
*ApplicationGatewayRedirectConfigurationPropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayRedirectConfiguration.
func (agrc ApplicationGatewayRedirectConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat != nil {
objectMap["properties"] = agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat
}
if agrc.Name != nil {
objectMap["name"] = agrc.Name
}
if agrc.Etag != nil {
objectMap["etag"] = agrc.Etag
}
if agrc.Type != nil {
objectMap["type"] = agrc.Type
}
if agrc.ID != nil {
objectMap["id"] = agrc.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRedirectConfiguration struct.
func (agrc *ApplicationGatewayRedirectConfiguration) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayRedirectConfigurationPropertiesFormat ApplicationGatewayRedirectConfigurationPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayRedirectConfigurationPropertiesFormat)
if err != nil {
return err
}
agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat = &applicationGatewayRedirectConfigurationPropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agrc.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agrc.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agrc.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agrc.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayRedirectConfigurationPropertiesFormat properties of redirect configuration of the
// application gateway.
type ApplicationGatewayRedirectConfigurationPropertiesFormat struct {
// RedirectType - Supported http redirection types - Permanent, Temporary, Found, SeeOther. Possible values include: 'Permanent', 'Found', 'SeeOther', 'Temporary'
RedirectType ApplicationGatewayRedirectType `json:"redirectType,omitempty"`
// TargetListener - Reference to a listener to redirect the request to.
TargetListener *SubResource `json:"targetListener,omitempty"`
// TargetURL - Url to redirect the request to.
TargetURL *string `json:"targetUrl,omitempty"`
// IncludePath - Include path in the redirected url.
IncludePath *bool `json:"includePath,omitempty"`
// IncludeQueryString - Include query string in the redirected url.
IncludeQueryString *bool `json:"includeQueryString,omitempty"`
// RequestRoutingRules - Request routing specifying redirect configuration.
RequestRoutingRules *[]SubResource `json:"requestRoutingRules,omitempty"`
// URLPathMaps - Url path maps specifying default redirect configuration.
URLPathMaps *[]SubResource `json:"urlPathMaps,omitempty"`
// PathRules - Path rules specifying redirect configuration.
PathRules *[]SubResource `json:"pathRules,omitempty"`
}
// ApplicationGatewayRequestRoutingRule request routing rule of an application gateway.
type ApplicationGatewayRequestRoutingRule struct {
*ApplicationGatewayRequestRoutingRulePropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewayRequestRoutingRule.
func (agrrr ApplicationGatewayRequestRoutingRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat != nil {
objectMap["properties"] = agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat
}
if agrrr.Name != nil {
objectMap["name"] = agrrr.Name
}
if agrrr.Etag != nil {
objectMap["etag"] = agrrr.Etag
}
if agrrr.Type != nil {
objectMap["type"] = agrrr.Type
}
if agrrr.ID != nil {
objectMap["id"] = agrrr.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRequestRoutingRule struct.
func (agrrr *ApplicationGatewayRequestRoutingRule) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewayRequestRoutingRulePropertiesFormat ApplicationGatewayRequestRoutingRulePropertiesFormat
err = json.Unmarshal(*v, &applicationGatewayRequestRoutingRulePropertiesFormat)
if err != nil {
return err
}
agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat = &applicationGatewayRequestRoutingRulePropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agrrr.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agrrr.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agrrr.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agrrr.ID = &ID
}
}
}
return nil
}
// ApplicationGatewayRequestRoutingRulePropertiesFormat properties of request routing rule of the
// application gateway.
type ApplicationGatewayRequestRoutingRulePropertiesFormat struct {
// RuleType - Rule type. Possible values include: 'Basic', 'PathBasedRouting'
RuleType ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"`
// BackendAddressPool - Backend address pool resource of the application gateway.
BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"`
// BackendHTTPSettings - Frontend port resource of the application gateway.
BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"`
// HTTPListener - Http listener resource of the application gateway.
HTTPListener *SubResource `json:"httpListener,omitempty"`
// URLPathMap - URL path map resource of the application gateway.
URLPathMap *SubResource `json:"urlPathMap,omitempty"`
// RedirectConfiguration - Redirect configuration resource of the application gateway.
RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"`
// ProvisioningState - Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewaysBackendHealthFuture an abstraction for monitoring and retrieving the results of a
// long-running operation.
type ApplicationGatewaysBackendHealthFuture struct {
azure.Future
}
// Result returns the result of the asynchronous operation.
// If the operation has not completed it will return an error.
func (future *ApplicationGatewaysBackendHealthFuture) Result(client ApplicationGatewaysClient) (agbh ApplicationGatewayBackendHealth, err error) {
var done bool
done, err = future.DoneWithContext(context.Background(), client)
if err != nil {
err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthFuture", "Result", future.Response(), "Polling failure")
return
}
if !done {
err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysBackendHealthFuture")
return
}
sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
if agbh.Response.Response, err = future.GetResult(sender); err == nil && agbh.Response.Response.StatusCode != http.StatusNoContent {
agbh, err = client.BackendHealthResponder(agbh.Response.Response)
if err != nil {
err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthFuture", "Result", agbh.Response.Response, "Failure responding to request")
}
}
return
}
// ApplicationGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a
// long-running operation.
type ApplicationGatewaysCreateOrUpdateFuture struct {
azure.Future
}
// Result returns the result of the asynchronous operation.
// If the operation has not completed it will return an error.
func (future *ApplicationGatewaysCreateOrUpdateFuture) Result(client ApplicationGatewaysClient) (ag ApplicationGateway, err error) {
var done bool
done, err = future.DoneWithContext(context.Background(), client)
if err != nil {
err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure")
return
}
if !done {
err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysCreateOrUpdateFuture")
return
}
sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
if ag.Response.Response, err = future.GetResult(sender); err == nil && ag.Response.Response.StatusCode != http.StatusNoContent {
ag, err = client.CreateOrUpdateResponder(ag.Response.Response)
if err != nil {
err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysCreateOrUpdateFuture", "Result", ag.Response.Response, "Failure responding to request")
}
}
return
}
// ApplicationGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a
// long-running operation.
type ApplicationGatewaysDeleteFuture struct {
azure.Future
}
// Result returns the result of the asynchronous operation.
// If the operation has not completed it will return an error.
func (future *ApplicationGatewaysDeleteFuture) Result(client ApplicationGatewaysClient) (ar autorest.Response, err error) {
var done bool
done, err = future.DoneWithContext(context.Background(), client)
if err != nil {
err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysDeleteFuture", "Result", future.Response(), "Polling failure")
return
}
if !done {
err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysDeleteFuture")
return
}
ar.Response = future.Response()
return
}
// ApplicationGatewaySku SKU of an application gateway
type ApplicationGatewaySku struct {
// Name - Name of an application gateway SKU. Possible values include: 'StandardSmall', 'StandardMedium', 'StandardLarge', 'WAFMedium', 'WAFLarge'
Name ApplicationGatewaySkuName `json:"name,omitempty"`
// Tier - Tier of an application gateway. Possible values include: 'Standard', 'WAF'
Tier ApplicationGatewayTier `json:"tier,omitempty"`
// Capacity - Capacity (instance count) of an application gateway.
Capacity *int32 `json:"capacity,omitempty"`
}
// ApplicationGatewaySslCertificate SSL certificates of an application gateway.
type ApplicationGatewaySslCertificate struct {
*ApplicationGatewaySslCertificatePropertiesFormat `json:"properties,omitempty"`
// Name - Name of the resource that is unique within a resource group. This name can be used to access the resource.
Name *string `json:"name,omitempty"`
// Etag - A unique read-only string that changes whenever the resource is updated.
Etag *string `json:"etag,omitempty"`
// Type - Type of the resource.
Type *string `json:"type,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewaySslCertificate.
func (agsc ApplicationGatewaySslCertificate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agsc.ApplicationGatewaySslCertificatePropertiesFormat != nil {
objectMap["properties"] = agsc.ApplicationGatewaySslCertificatePropertiesFormat
}
if agsc.Name != nil {
objectMap["name"] = agsc.Name
}
if agsc.Etag != nil {
objectMap["etag"] = agsc.Etag
}
if agsc.Type != nil {
objectMap["type"] = agsc.Type
}
if agsc.ID != nil {
objectMap["id"] = agsc.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewaySslCertificate struct.
func (agsc *ApplicationGatewaySslCertificate) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "properties":
if v != nil {
var applicationGatewaySslCertificatePropertiesFormat ApplicationGatewaySslCertificatePropertiesFormat
err = json.Unmarshal(*v, &applicationGatewaySslCertificatePropertiesFormat)
if err != nil {
return err
}
agsc.ApplicationGatewaySslCertificatePropertiesFormat = &applicationGatewaySslCertificatePropertiesFormat
}
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agsc.Name = &name
}
case "etag":
if v != nil {
var etag string
err = json.Unmarshal(*v, &etag)
if err != nil {
return err
}
agsc.Etag = &etag
}
case "type":
if v != nil {
var typeVar string
err = json.Unmarshal(*v, &typeVar)
if err != nil {
return err
}
agsc.Type = &typeVar
}
case "id":
if v != nil {
var ID string
err = json.Unmarshal(*v, &ID)
if err != nil {
return err
}
agsc.ID = &ID
}
}
}
return nil
}
// ApplicationGatewaySslCertificatePropertiesFormat properties of SSL certificates of an application
// gateway.
type ApplicationGatewaySslCertificatePropertiesFormat struct {
// Data - Base-64 encoded pfx certificate. Only applicable in PUT Request.
Data *string `json:"data,omitempty"`
// Password - Password for the pfx file specified in data. Only applicable in PUT request.
Password *string `json:"password,omitempty"`
// PublicCertData - Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request.
PublicCertData *string `json:"publicCertData,omitempty"`
// ProvisioningState - Provisioning state of the SSL certificate resource Possible values are: 'Updating', 'Deleting', and 'Failed'.
ProvisioningState *string `json:"provisioningState,omitempty"`
}
// ApplicationGatewaySslPolicy application Gateway Ssl policy.
type ApplicationGatewaySslPolicy struct {
// DisabledSslProtocols - Ssl protocols to be disabled on application gateway.
DisabledSslProtocols *[]ApplicationGatewaySslProtocol `json:"disabledSslProtocols,omitempty"`
// PolicyType - Type of Ssl Policy. Possible values include: 'Predefined', 'Custom'
PolicyType ApplicationGatewaySslPolicyType `json:"policyType,omitempty"`
// PolicyName - Name of Ssl predefined policy. Possible values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S'
PolicyName ApplicationGatewaySslPolicyName `json:"policyName,omitempty"`
// CipherSuites - Ssl cipher suites to be enabled in the specified order to application gateway.
CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"`
// MinProtocolVersion - Minimum version of Ssl protocol to be supported on application gateway. Possible values include: 'TLSv10', 'TLSv11', 'TLSv12'
MinProtocolVersion ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"`
}
// ApplicationGatewaySslPredefinedPolicy an Ssl predefined policy
type ApplicationGatewaySslPredefinedPolicy struct {
autorest.Response `json:"-"`
// Name - Name of Ssl predefined policy.
Name *string `json:"name,omitempty"`
*ApplicationGatewaySslPredefinedPolicyPropertiesFormat `json:"properties,omitempty"`
// ID - Resource ID.
ID *string `json:"id,omitempty"`
}
// MarshalJSON is the custom marshaler for ApplicationGatewaySslPredefinedPolicy.
func (agspp ApplicationGatewaySslPredefinedPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]interface{})
if agspp.Name != nil {
objectMap["name"] = agspp.Name
}
if agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat != nil {
objectMap["properties"] = agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat
}
if agspp.ID != nil {
objectMap["id"] = agspp.ID
}
return json.Marshal(objectMap)
}
// UnmarshalJSON is the custom unmarshaler for ApplicationGatewaySslPredefinedPolicy struct.
func (agspp *ApplicationGatewaySslPredefinedPolicy) UnmarshalJSON(body []byte) error {
var m map[string]*json.RawMessage
err := json.Unmarshal(body, &m)
if err != nil {
return err
}
for k, v := range m {
switch k {
case "name":
if v != nil {
var name string
err = json.Unmarshal(*v, &name)
if err != nil {
return err
}
agspp.Name = &name
}
case "properties":
if v != nil {
var applicationGatewaySslPredefinedPolicyPropertiesFormat ApplicationGatewaySslPredefinedPolicyPropertiesFormat
err = json.Unmarshal(*v, &applicationGatewaySslPredefinedPolicyPropertiesFormat)